jon.recoil.org

Module Flambda2_simplify_shared.Inlining_report

Report inlining decisions

module Pass : sig ... end
module Context : sig ... end
module Decision_with_context : sig ... end
module Uid : sig ... end
module Inlining_tree : sig ... end
val 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:Pass.t -> callee:Flambda2_terms.Inlining_history.Absolute.t -> are_rebuilding_terms:Are_rebuilding_terms.t -> Call_site_inlining_decision_type.t -> unit
val record_decision_at_call_site_for_unknown_function : tracker:Flambda2_terms.Inlining_history.Tracker.t -> apply:Flambda2_terms.Apply_expr.t -> pass:Pass.t -> unit -> unit
val record_decision_at_function_definition : absolute_history:Flambda2_terms.Inlining_history.Absolute.t -> code_metadata:Flambda2_terms.Code_metadata.t -> pass:Pass.t -> are_rebuilding_terms:Are_rebuilding_terms.t -> Flambda2_terms.Function_decl_inlining_decision_type.t -> unit
val output_then_forget_decisions : output_prefix:string -> Inlining_tree.t

Output 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.