jon.recoil.org

Module Flambda2_terms.Inlining_arguments

Set of all arguments related to inlining. This set is stored inside the term language and is used to access the set of parameters to use in the simplifier.

This module also allows to meet two sets of arguments, that is given t1 and t2 to return the set of arguments that will inline at most as much as either t1 and t2 would.

type t
val create : round:int -> Flambda2_terms.Inlining_arguments.t
val max_inlining_depth : Flambda2_terms.Inlining_arguments.t -> int
val call_cost : Flambda2_terms.Inlining_arguments.t -> float
val alloc_cost : Flambda2_terms.Inlining_arguments.t -> float
val prim_cost : Flambda2_terms.Inlining_arguments.t -> float
val branch_cost : Flambda2_terms.Inlining_arguments.t -> float
val indirect_call_cost : Flambda2_terms.Inlining_arguments.t -> float
val poly_compare_cost : Flambda2_terms.Inlining_arguments.t -> float
val small_function_size : Flambda2_terms.Inlining_arguments.t -> int
val large_function_size : Flambda2_terms.Inlining_arguments.t -> int
val threshold : Flambda2_terms.Inlining_arguments.t -> float