Module Flambda2_simplify_shared.Inlining_report
Report inlining decisions
module Pass : sig ... endmodule Context : sig ... endmodule Decision_with_context : sig ... endmodule Uid : sig ... endmodule Inlining_tree : sig ... endval record_decision_at_call_site_for_known_function :
tracker:Flambda2_terms.Inlining_history.Tracker.t ->
unrolling_depth:int option ->
apply:Flambda2_terms.Apply_expr.t ->
pass:Flambda2_simplify_shared.Inlining_report.Pass.t ->
callee:Flambda2_terms.Inlining_history.Absolute.t ->
are_rebuilding_terms:Flambda2_simplify_shared.Are_rebuilding_terms.t ->
Flambda2_simplify_shared.Call_site_inlining_decision_type.t ->
unitval record_decision_at_call_site_for_unknown_function :
tracker:Flambda2_terms.Inlining_history.Tracker.t ->
apply:Flambda2_terms.Apply_expr.t ->
pass:Flambda2_simplify_shared.Inlining_report.Pass.t ->
unit ->
unitval record_decision_at_function_definition :
absolute_history:Flambda2_terms.Inlining_history.Absolute.t ->
code_metadata:Flambda2_terms.Code_metadata.t ->
pass:Flambda2_simplify_shared.Inlining_report.Pass.t ->
are_rebuilding_terms:Flambda2_simplify_shared.Are_rebuilding_terms.t ->
Flambda2_terms.Function_decl_inlining_decision_type.t ->
unitval output_then_forget_decisions :
output_prefix:string ->
Flambda2_simplify_shared.Inlining_report.Inlining_tree.tOutput the report for all recorded decisions up to that point, and clean/forget all decisions.
Note that this function should be called once for each round of simplification.