Inline_and_simplify_aux
Environments and result structures used during inlining and simplification. (See inline_and_simplify.ml.)
module Env : sig ... end
module Result : sig ... end
val initial_inlining_threshold : round:int -> Inlining_cost.Threshold.t
Command line argument -inline
val initial_inlining_toplevel_threshold : round:int -> Inlining_cost.Threshold.t
Command line argument -inline-toplevel
val prepare_to_simplify_set_of_closures : env:Env.t -> set_of_closures:Flambda.set_of_closures ->
function_decls:Flambda.function_declarations -> freshen:bool -> only_for_function_decl:Flambda.function_declaration option ->
(Flambda.specialised_to * Simple_value_approx.t) Variable.Map.t * Flambda.specialised_to Variable.Map.t * Flambda.function_declarations * Simple_value_approx.t Variable.Map.t * Simple_value_approx.value_set_of_closures * Env.t
val prepare_to_simplify_closure : function_decl:Flambda.function_declaration -> free_vars:(Flambda.specialised_to * Simple_value_approx.t) Variable.Map.t ->
specialised_args:Flambda.specialised_to Variable.Map.t -> parameter_approximations:Simple_value_approx.t Variable.Map.t -> set_of_closures_env:Env.t -> Env.t
val keep_body_check : is_classic_mode:bool -> recursive:Variable.Set.t Lazy.t -> Variable.t -> Flambda.function_declaration -> bool