jon.recoil.org

Module Flambda2_terms.Code0

type 'function_params_and_body t
val code_metadata : _ t -> Code_metadata.t
val params_and_body : 'function_params_and_body t -> 'function_params_and_body
include Code_metadata.Code_metadata_accessors_result_type with type 'function_params_and_body t := 'function_params_and_body t
val code_id : 'a t -> Flambda2_identifiers.Code_id.t
val newer_version_of : 'a t -> Flambda2_identifiers.Code_id.t option
val params_arity : 'a t -> [ `Complex ] Flambda2_kinds.Flambda_arity.t
val first_complex_local_param : 'a t -> int
val result_arity : 'a t -> [ `Unarized ] Flambda2_kinds.Flambda_arity.t
val result_mode : 'a t -> Lambda.locality_mode
val stub : 'a t -> bool
val inline : 'a t -> Inline_attribute.t
val zero_alloc_attribute : 'a t -> Zero_alloc_attribute.t
val poll_attribute : 'a t -> Poll_attribute.t
val regalloc_attribute : 'a t -> Regalloc_attribute.t
val regalloc_param_attribute : 'a t -> Regalloc_param_attribute.t
val cold : 'a t -> bool
val is_a_functor : 'a t -> bool
val is_opaque : 'a t -> bool
val recursive : 'a t -> Recursive.t
val cost_metrics : 'a t -> Cost_metrics.t
val inlining_arguments : 'a t -> Inlining_arguments.t
val dbg : 'a t -> Debuginfo.t
val is_tupled : 'a t -> bool
val is_my_closure_used : 'a t -> bool
val inlining_decision : 'a t -> Function_decl_inlining_decision_type.t
val absolute_history : 'a t -> Inlining_history.Absolute.t
val relative_history : 'a t -> Inlining_history.Relative.t
val loopify : 'a t -> Loopify_attribute.t
val function_slot_size : 'a t -> int
val create_with_metadata : print_function_params_and_body: (Format.formatter -> 'function_params_and_body -> unit) -> params_and_body:'function_params_and_body -> free_names_of_params_and_body:Flambda2_nominal.Name_occurrences.t -> code_metadata:Code_metadata.t -> 'function_params_and_body t
val create : print_function_params_and_body: (Format.formatter -> 'function_params_and_body -> unit) -> params_and_body:'function_params_and_body -> free_names_of_params_and_body:Flambda2_nominal.Name_occurrences.t -> 'function_params_and_body t Code_metadata.create_type
val with_code_id : Flambda2_identifiers.Code_id.t -> 'function_params_and_body t -> 'function_params_and_body t
val with_params_and_body : print_function_params_and_body: (Format.formatter -> 'function_params_and_body -> unit) -> params_and_body:'function_params_and_body -> free_names_of_params_and_body:Flambda2_nominal.Name_occurrences.t -> cost_metrics:Cost_metrics.t -> 'function_params_and_body t -> 'function_params_and_body t
val with_newer_version_of : Flambda2_identifiers.Code_id.t option -> 'function_params_and_body t -> 'function_params_and_body t
val apply_renaming : apply_renaming_function_params_and_body: ('function_params_and_body -> Flambda2_nominal.Renaming.t -> 'function_params_and_body) -> 'function_params_and_body t -> Flambda2_nominal.Renaming.t -> 'function_params_and_body t
val print : print_function_params_and_body: (Format.formatter -> 'function_params_and_body -> unit) -> Format.formatter -> 'function_params_and_body t -> unit
val ids_for_export : ids_for_export_function_params_and_body: ('function_params_and_body -> Flambda2_nominal.Ids_for_export.t) -> 'function_params_and_body t -> Flambda2_nominal.Ids_for_export.t
val compare : 'function_params_and_body t -> 'function_params_and_body t -> int
val map_result_types : 'function_params_and_body t -> f:(Flambda2_types.t -> Flambda2_types.t) -> 'function_params_and_body t
val free_names_of_params_and_body : 'function_params_and_body t -> Flambda2_nominal.Name_occurrences.t