Module Flambda2_simplify.Join_points
Compute, for each parameter of a continuation, the join of all corresponding argument types across the recorded uses; together with the environment to be used for simplifying the continuation itself.
type result = private {handler_env : Flambda2_simplify.Downwards_env.t;extra_params_and_args : Flambda2_simplify.Continuation_extra_params_and_args.t;is_single_inlinable_use : bool;escapes : bool;
}val compute_handler_env :
?replay:(Flambda2_simplify.Replay_history.t * bool) ->
?cut_after:Flambda2_term_basics.Scope.t ->
Flambda2_simplify.One_continuation_use.t list ->
is_recursive:bool ->
env_at_fork:Flambda2_simplify.Downwards_env.t ->
consts_lifted_after_fork:Flambda2_simplify.Lifted_constant_state.t ->
params:Flambda2_bound_identifiers.Bound_parameters.t ->
previous_extra_params_and_args:
Flambda2_simplify.Continuation_extra_params_and_args.t ->
Flambda2_simplify.Join_points.result