jon.recoil.org

Module Flambda2_simplify.Downwards_env

type get_imported_names = unit -> Flambda2_identifiers.Name.Set.t
type get_imported_code = unit -> Flambda2_cmx.Exported_code.t
type t

Print a human-readable version of the given environment.

val create : round:int -> machine_width:Target_system.Machine_width.t -> resolver:Flambda2_simplify.Downwards_env.resolver -> get_imported_names:Flambda2_simplify.Downwards_env.get_imported_names -> get_imported_code:Flambda2_simplify.Downwards_env.get_imported_code -> propagating_float_consts:bool -> unit_toplevel_exn_continuation:Flambda2_identifiers.Continuation.t -> unit_toplevel_return_continuation:Flambda2_identifiers.Continuation.t -> toplevel_my_region:Flambda2_identifiers.Variable.t -> toplevel_my_ghost_region:Flambda2_identifiers.Variable.t -> Flambda2_simplify.Downwards_env.t

Create a new environment, marked as being at the toplevel of a compilation unit.

val propagating_float_consts : Flambda2_simplify.Downwards_env.t -> bool
val at_unit_toplevel : Flambda2_simplify.Downwards_env.t -> bool
val set_at_unit_toplevel_state : Flambda2_simplify.Downwards_env.t -> bool -> Flambda2_simplify.Downwards_env.t

This function raises if the code ID is unbound.

module Disable_inlining_reason : sig ... end
module Disable_inlining : sig ... end
val enter_set_of_closures : Flambda2_simplify.Downwards_env.t -> in_stub:bool -> Flambda2_simplify.Downwards_env.t
val generate_phantom_lets : Flambda2_simplify.Downwards_env.t -> bool
val variables_defined_in_current_continuation : Flambda2_simplify.Downwards_env.t -> Flambda2_simplify.Lifted_cont_params.t
val cost_of_lifting_continuations_out_of_current_one : Flambda2_simplify.Downwards_env.t -> int
val must_inline : Flambda2_simplify.Downwards_env.t -> bool