jon.recoil.org

Module Flambda2_simplify.Upwards_env

Upwards environments used during simplification.

type t

Create an upwards environment.

The are_rebuilding_terms provided is only used for printing.

val machine_width : t -> Target_system.Machine_width.t
val print : Format.formatter -> t -> unit
val add_invalid_continuation : t -> Flambda2_identifiers.Continuation.t -> [ `Unarized ] Flambda2_kinds.Flambda_arity.t -> t
val 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 -> t
val add_function_return_or_exn_continuation : t -> Flambda2_identifiers.Continuation.t -> [ `Unarized ] Flambda2_kinds.Flambda_arity.t -> t
val mem_continuation : t -> Flambda2_identifiers.Continuation.t -> bool
val find_continuation_shortcut : t -> Flambda2_identifiers.Continuation.t -> Continuation_shortcut.t option
val add_apply_cont_rewrite : t -> Flambda2_identifiers.Continuation.t -> Apply_cont_rewrite.t -> t
val replace_apply_cont_rewrite : t -> Flambda2_identifiers.Continuation.t -> Apply_cont_rewrite.t -> t
val find_apply_cont_rewrite : t -> Flambda2_identifiers.Continuation.t -> Apply_cont_rewrite.t option