Module Flambda2_simplify.Upwards_env
Upwards environments used during simplification.
val create :
Flambda2_simplify_shared.Are_rebuilding_terms.t ->
machine_width:Target_system.Machine_width.t ->
tCreate an upwards environment.
The are_rebuilding_terms provided is only used for printing.
val machine_width : t -> Target_system.Machine_width.tval print : Format.formatter -> t -> unitval add_non_inlinable_continuation :
t ->
Flambda2_identifiers.Continuation.t ->
params:Flambda2_bound_identifiers.Bound_parameters.t ->
handler:Rebuilt_expr.t Flambda2_lattices.Or_unknown.t ->
tval add_invalid_continuation :
t ->
Flambda2_identifiers.Continuation.t ->
[ `Unarized ] Flambda2_kinds.Flambda_arity.t ->
tval add_continuation_shortcut :
t ->
Flambda2_identifiers.Continuation.t ->
params:Flambda2_bound_identifiers.Bound_parameters.t ->
shortcut_to:Flambda2_identifiers.Continuation.t ->
args:Flambda2_term_basics.Simple.t list ->
tval add_linearly_used_inlinable_continuation :
t ->
Flambda2_identifiers.Continuation.t ->
params:Flambda2_bound_identifiers.Bound_parameters.t ->
handler:Rebuilt_expr.t ->
free_names_of_handler:Flambda2_nominal.Name_occurrences.t ->
cost_metrics_of_handler:Flambda2_terms.Cost_metrics.t ->
tval add_function_return_or_exn_continuation :
t ->
Flambda2_identifiers.Continuation.t ->
[ `Unarized ] Flambda2_kinds.Flambda_arity.t ->
tval find_continuation :
t ->
Flambda2_identifiers.Continuation.t ->
Continuation_in_env.tval mem_continuation : t -> Flambda2_identifiers.Continuation.t -> boolval find_continuation_shortcut :
t ->
Flambda2_identifiers.Continuation.t ->
Continuation_shortcut.t optionval add_apply_cont_rewrite :
t ->
Flambda2_identifiers.Continuation.t ->
Apply_cont_rewrite.t ->
tval replace_apply_cont_rewrite :
t ->
Flambda2_identifiers.Continuation.t ->
Apply_cont_rewrite.t ->
tval find_apply_cont_rewrite :
t ->
Flambda2_identifiers.Continuation.t ->
Apply_cont_rewrite.t option