Module 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 Stdlib.Lazy.t -> Variable.t -> Flambda.function_declaration -> bool