Module Flambda2_simplify.Simplify
Simplification of Flambda programs: inlining, specialisation, unboxing and so forth.
Readers interested in the function inlining strategy should read the Inlining_decision module first.
type simplify_result = private {free_names : Flambda2_nominal.Name_occurrences.t;final_typing_env : Flambda2_types.Typing_env.t option;all_code : Flambda2_cmx.Exported_code.t;slot_offsets : Flambda2_simplify_shared.Slot_offsets.t;unit : Flambda2_terms.Flambda_unit.t;
}val run :
cmx_loader:Flambda2_cmx.Flambda_cmx.loader ->
machine_width:Target_system.Machine_width.t ->
round:int ->
code_slot_offsets:
Flambda2_simplify_shared.Slot_offsets.t Flambda2_identifiers.Code_id.Map.t ->
Flambda2_terms.Flambda_unit.t ->
Flambda2_simplify.Simplify.simplify_result