Module Flambda2_simplify.Unboxing_types
module Extra_param_and_args : sig ... endtype unboxing_decision = | Unique_tag_and_size of {tag : Flambda2_kinds.Tag.t;shape : Flambda2_kinds.Flambda_kind.Block_shape.t;fields : Flambda2_simplify.Unboxing_types.field_decision list;
}| Variant of {tag : Flambda2_simplify.Unboxing_types.Extra_param_and_args.t;const_ctors : Flambda2_simplify.Unboxing_types.const_ctors_decision;fields_by_tag : (Flambda2_kinds.Flambda_kind.Block_shape.t * Flambda2_simplify.Unboxing_types.field_decision list) Flambda2_kinds.Tag.Scannable.Map.t;
}| Closure_single_entry of {function_slot : Flambda2_identifiers.Function_slot.t;vars_within_closure : Flambda2_simplify.Unboxing_types.field_decision Flambda2_identifiers.Value_slot.Map.t;
}| Number of Flambda2_kinds.Flambda_kind.Naked_number_kind.t * Flambda2_simplify.Unboxing_types.Extra_param_and_args.t
and field_decision = {epa : Flambda2_simplify.Unboxing_types.Extra_param_and_args.t;decision : Flambda2_simplify.Unboxing_types.decision;kind : Flambda2_kinds.Flambda_kind.With_subkind.t;
}and const_ctors_decision = | Zero| At_least_one of {is_int : Flambda2_simplify.Unboxing_types.Extra_param_and_args.t;ctor : Flambda2_simplify.Unboxing_types.decision;
}
and decision = | Unbox of Flambda2_simplify.Unboxing_types.unboxing_decision| Do_not_unbox of Flambda2_simplify.Unboxing_types.do_not_unbox_reason
val print_decision :
Stdlib.Format.formatter ->
Flambda2_simplify.Unboxing_types.decision ->
unitPrinting function for individual decisions.
module Decisions : sig ... end