Module Flambda2_simplify.Lifted_constant
Description of a group of statically-allocated values discovered during simplification.
The name of this module is unfortunately slightly misleading: these statically-allocated values may be inconstant in the sense that they may require initialisation at runtime before they can be read from.
module Definition : sig ... endval print :
Stdlib.Format.formatter ->
Flambda2_simplify.Lifted_constant.t ->
unitval create_block_like :
Flambda2_identifiers.Symbol.t ->
symbol_projections:
Flambda2_term_basics.Symbol_projection.t
Flambda2_identifiers.Variable.Map.t ->
Flambda2_simplify.Rebuilt_static_const.t ->
Flambda2_simplify.Downwards_env.t ->
Flambda2_types.t ->
Flambda2_simplify.Lifted_constant.tThe creation functions take the types of symbols to avoid re-inferring them.
val create_set_of_closures :
Flambda2_simplify.Downwards_env.t ->
closure_symbols_with_types:
(Flambda2_identifiers.Symbol.t * Flambda2_types.t)
Flambda2_identifiers.Function_slot.Lmap.t ->
symbol_projections:
Flambda2_term_basics.Symbol_projection.t
Flambda2_identifiers.Variable.Map.t ->
Flambda2_simplify.Rebuilt_static_const.t ->
Flambda2_simplify.Lifted_constant.tval create_definition :
Flambda2_simplify.Lifted_constant.Definition.t ->
Flambda2_simplify.Lifted_constant.tval definitions :
Flambda2_simplify.Lifted_constant.t ->
Flambda2_simplify.Lifted_constant.Definition.t listval bound_static :
Flambda2_simplify.Lifted_constant.t ->
Flambda2_bound_identifiers.Bound_static.tval defining_exprs :
Flambda2_simplify.Lifted_constant.t ->
Flambda2_simplify.Rebuilt_static_const.Group.tval types_of_symbols :
Flambda2_simplify.Lifted_constant.t ->
(Flambda2_simplify.Downwards_env.t * Flambda2_types.t)
Flambda2_identifiers.Symbol.Map.tval symbol_projections :
Flambda2_simplify.Lifted_constant.t ->
Flambda2_term_basics.Symbol_projection.t Flambda2_identifiers.Variable.Map.tval concat :
Flambda2_simplify.Lifted_constant.t list ->
Flambda2_simplify.Lifted_constant.tval is_fully_static : Flambda2_simplify.Lifted_constant.t -> boolval all_defined_symbols :
Flambda2_simplify.Lifted_constant.t ->
Flambda2_identifiers.Symbol.Set.tval free_names_of_defining_exprs :
Flambda2_simplify.Lifted_constant.t ->
Flambda2_nominal.Name_occurrences.tval apply_projection :
Flambda2_simplify.Lifted_constant.t ->
Flambda2_term_basics.Symbol_projection.t ->
Flambda2_term_basics.Simple.t option