Module Flambda2_reaper.Rebuild
type result = private {body : Flambda2_terms.Flambda.Expr.t;free_names : Flambda2_nominal.Name_occurrences.t;all_code : Flambda2_terms.Code.t Flambda2_identifiers.Code_id.Map.t;code_ids_to_remember : Flambda2_identifiers.Code_id.Set.t;slot_offsets : Flambda2_simplify_shared.Slot_offsets.t;
}val rebuild :
machine_width:Target_system.Machine_width.t ->
code_deps:Traverse_acc.code_dep Flambda2_identifiers.Code_id.Map.t ->
ordered_code_ids:Flambda2_identifiers.Code_id.t array ->
continuation_info:
Traverse_acc.continuation_info Flambda2_identifiers.Continuation.Map.t ->
fixed_arity_continuations:Flambda2_identifiers.Continuation.Set.t ->
final_typing_env:Flambda2_types.Typing_env.t option ->
types_rewrite_context:Types_rewriter.rewrite_context ->
Flambda2_kinds.Flambda_kind.t Flambda2_identifiers.Name.Map.t ->
Unboxing_analysis.result ->
(Flambda2_identifiers.Code_id.t -> Flambda2_terms.Code_metadata.t) ->
Rev_expr.t ->
Rev_expr.rev_code Flambda2_identifiers.Code_id.Map.t ->
result