Inline_and_simplify
val run :
never_inline:bool ->
backend:(module Backend_intf.S) ->
prefixname:string ->
round:int ->
ppf_dump:Stdlib.Format.formatter ->
Flambda.program ->
Flambda.program
Simplification of Flambda programs combined with function inlining: for the most part a beta-reduction pass.
Readers interested in the inlining strategy should read the Inlining_decision
module first.
val duplicate_function :
env:Inline_and_simplify_aux.Env.t ->
set_of_closures:Flambda.set_of_closures ->
fun_var:Variable.t ->
new_fun_var:Variable.t ->
Flambda.function_declaration * Flambda.specialised_to Variable.Map.t