Inlining_decision_intf
type 'a by_copying_function_body =
env:Inline_and_simplify_aux.Env.t ->
r:Inline_and_simplify_aux.Result.t ->
clos:Flambda.function_declarations ->
lfunc:Flambda.t ->
fun_id:Closure_id.t ->
func:Flambda.function_declaration ->
args:Flambda.t list ->
Flambda.t * Inline_and_simplify_aux.Result.t
type 'a by_copying_function_declaration =
env:Inline_and_simplify_aux.Env.t ->
r:Inline_and_simplify_aux.Result.t ->
funct:Flambda.t ->
clos:Flambda.function_declarations ->
fun_id:Closure_id.t ->
func:Flambda.function_declaration ->
args_with_approxs:(Flambda.t list * Simple_value_approx.t list) ->
invariant_params:Variable.Set.t ->
specialised_args:Variable.Set.t ->
dbg:Debuginfo.t ->
(Flambda.t * Inline_and_simplify_aux.Result.t) option
type simplify =
Inline_and_simplify_aux.Env.t ->
Inline_and_simplify_aux.Result.t ->
Flambda.t ->
Flambda.t * Inline_and_simplify_aux.Result.t