Module Flambda2_reaper.Rebuilt_expr
type continuation_handler = {handler : Flambda2_terms.Flambda.Continuation_handler.t;free_names : Flambda2_nominal.Name_occurrences.t;code_size : Flambda2_terms.Code_size.t;
}type continuation_handlers = {handlers : Flambda2_terms.Flambda.Continuation_handler.t Flambda2_identifiers.Continuation.Lmap.t;free_names : Flambda2_nominal.Name_occurrences.t;code_size : Flambda2_terms.Code_size.t;
}type t = {expr : Flambda2_terms.Flambda.expr;free_names : Flambda2_nominal.Name_occurrences.t;code_size : Flambda2_terms.Code_size.t;
}val create_let :
Flambda2_bound_identifiers.Bound_pattern.t ->
Flambda2_terms.Flambda.named ->
size_of_defining_expr:Flambda2_terms.Code_size.t ->
body:t ->
tval create_continuation_handler :
Flambda2_bound_identifiers.Bound_parameters.t ->
handler:t ->
is_exn_handler:bool ->
is_cold:bool ->
continuation_handlerval create_continuation_handlers :
continuation_handler Flambda2_identifiers.Continuation.Lmap.t ->
continuation_handlersval create_non_recursive_let_cont :
Flambda2_identifiers.Continuation.t ->
continuation_handler ->
body:t ->
tval create_recursive_let_cont :
invariant_params:Flambda2_bound_identifiers.Bound_parameters.t ->
continuation_handler Flambda2_identifiers.Continuation.Lmap.t ->
body:t ->
tval from_expr :
expr:Flambda2_terms.Flambda.expr ->
free_names:Flambda2_nominal.Name_occurrences.t ->
code_size:Flambda2_terms.Code_size.t ->
t