jon.recoil.org

Module Flambda2_simplify_shared.Inlining_helpers

val make_inlined_body : callee:Flambda2_term_basics.Simple.t option -> called_code_id:Flambda2_identifiers.Code_id.t -> region_inlined_into:Flambda2_term_basics.Alloc_mode.For_applications.t -> params:'param list -> args:Flambda2_term_basics.Simple.List.t -> my_closure:'param -> my_region:Flambda2_identifiers.Variable.t option -> my_ghost_region:Flambda2_identifiers.Variable.t option -> my_depth:Flambda2_identifiers.Variable.t -> rec_info:Flambda2_term_basics.Rec_info_expr.t -> body:'expr_with_acc -> exn_continuation:Flambda2_identifiers.Continuation.t -> return_continuation:Flambda2_identifiers.Continuation.t -> apply_exn_continuation:Flambda2_identifiers.Continuation.t -> apply_return_continuation:Flambda2_terms.Flambda.Apply.Result_continuation.t -> bind_params: (params:'param list -> args:Flambda2_term_basics.Simple.List.t -> body:'expr_with_acc -> 'expr_with_acc) -> bind_depth: (my_depth:Flambda2_identifiers.Variable.t -> rec_info:Flambda2_term_basics.Rec_info_expr.t -> body:'expr_with_acc -> 'expr_with_acc) -> apply_renaming: ('expr_with_acc -> Flambda2_nominal.Renaming.t -> 'expr_with_acc) -> 'expr_with_acc
val wrap_inlined_body_for_exn_extra_args : 'acc -> extra_args: (Flambda2_term_basics.Simple.t * Flambda2_kinds.Flambda_kind.With_subkind.t) list -> apply_exn_continuation:Flambda2_terms.Exn_continuation.t -> apply_return_continuation:Flambda2_terms.Flambda.Apply.Result_continuation.t -> result_arity:[ `Unarized ] Flambda2_kinds.Flambda_arity.t -> make_inlined_body: ('acc -> apply_exn_continuation:Flambda2_identifiers.Continuation.t -> apply_return_continuation: Flambda2_terms.Flambda.Apply.Result_continuation.t -> 'expr_with_acc) -> apply_cont_create: ('acc -> trap_action:Flambda2_terms.Trap_action.t -> Flambda2_identifiers.Continuation.t -> args:Flambda2_term_basics.Simple.List.t -> dbg:Debuginfo.t -> 'expr_with_acc) -> let_cont_create: ('acc -> Flambda2_identifiers.Continuation.t -> handler_params:Flambda2_bound_identifiers.Bound_parameters.t -> handler:('acc -> 'expr_with_acc) -> body:('acc -> 'expr_with_acc) -> is_exn_handler:bool -> is_cold:bool -> 'expr_with_acc) -> 'expr_with_acc
type attribute_kind =
  1. | Inlined
  2. | Unrolled
val inlined_attribute_on_partial_application_msg : Flambda2_simplify_shared.Inlining_helpers.attribute_kind -> string