jon.recoil.org

Module Flambda2_simplify.Downwards_acc

type t

Print a downwards accumulator to a formatter.

Extract the environment component of the given downwards accumulator.

Map the environment component of the given downwards accumulator.

Replace the environment component of the given downwards accumulator.

Extract the dataflow analysis accumulator

Map the dataflow analysis accumulator of the given dacc.

include Flambda2_simplify.Continuation_uses_env_intf.S with type t := Flambda2_simplify.Downwards_acc.t

We don't have an interface that insists on adding continuations before seeing their uses. This would be problematic when inserting wrappers, where we have already advanced past the point at which such wrappers would need to be defined, before knowing that a wrapper is needed.

Mark that an exception handler continuation should be converted to a normal continuation. This is used when turning local exceptions into jumps.

val no_lifted_constants : Flambda2_simplify.Downwards_acc.t -> bool
val add_to_lifted_constant_accumulator : ?also_add_to_env:unit -> Flambda2_simplify.Downwards_acc.t -> Flambda2_simplify.Lifted_constant_state.t -> Flambda2_simplify.Downwards_acc.t
val with_code_ids_to_never_delete : Flambda2_simplify.Downwards_acc.t -> code_ids_to_never_delete:Flambda2_identifiers.Code_id.Set.t -> Flambda2_simplify.Downwards_acc.t
val with_code_ids_never_simplified : Flambda2_simplify.Downwards_acc.t -> code_ids_never_simplified:Flambda2_identifiers.Code_id.Set.t -> Flambda2_simplify.Downwards_acc.t
val find_debuginfo_rewrite : Flambda2_simplify.Downwards_acc.t -> bound_to:Flambda2_term_basics.Simple.t -> Debuginfo.t option
val get_continuation_lifting_budget : Flambda2_simplify.Downwards_acc.t -> int
val reset_continuation_lifting_budget : Flambda2_simplify.Downwards_acc.t -> Flambda2_simplify.Downwards_acc.t
val with_continuation_lifting_budget : Flambda2_simplify.Downwards_acc.t -> int -> Flambda2_simplify.Downwards_acc.t
val decrease_continuation_lifting_budget : Flambda2_simplify.Downwards_acc.t -> int -> Flambda2_simplify.Downwards_acc.t
val get_continuation_specialization_budget : Flambda2_simplify.Downwards_acc.t -> int
val reset_continuation_specialization_budget : Flambda2_simplify.Downwards_acc.t -> Flambda2_simplify.Downwards_acc.t
val with_continuation_specialization_budget : Flambda2_simplify.Downwards_acc.t -> int -> Flambda2_simplify.Downwards_acc.t
val decrease_continuation_specialization_budget : Flambda2_simplify.Downwards_acc.t -> int -> Flambda2_simplify.Downwards_acc.t