Module Flambda2_simplify.Continuation_uses
Recording of the uses of a single continuation. This module also computes, for each parameter of the continuation, the join of all corresponding argument types across the recorded uses; and the environment to be used for simplifying the continuation itself.
val create :
Flambda2_identifiers.Continuation.t ->
[ `Unarized ] Flambda2_kinds.Flambda_arity.t ->
Flambda2_simplify.Continuation_uses.tval print :
Stdlib.Format.formatter ->
Flambda2_simplify.Continuation_uses.t ->
unitval get_uses :
Flambda2_simplify.Continuation_uses.t ->
Flambda2_simplify.One_continuation_use.t listtype arg_types_by_use_id =
Flambda2_simplify.Continuation_uses.arg_at_use
Flambda2_identifiers.Apply_cont_rewrite_id.Map.t
listval print_arg_type_at_use :
Stdlib.Format.formatter ->
Flambda2_simplify.Continuation_uses.arg_at_use ->
unitval get_arg_types_by_use_id :
Flambda2_simplify.Continuation_uses.t ->
Flambda2_simplify.Continuation_uses.arg_types_by_use_idval get_arg_types_by_use_id_for_invariant_params :
[ `Unarized ] Flambda2_kinds.Flambda_arity.t ->
Flambda2_simplify.Continuation_uses.t list ->
Flambda2_simplify.Continuation_uses.arg_types_by_use_idval get_use_ids :
Flambda2_simplify.Continuation_uses.t ->
Flambda2_identifiers.Apply_cont_rewrite_id.Set.tval number_of_uses : Flambda2_simplify.Continuation_uses.t -> intval arity :
Flambda2_simplify.Continuation_uses.t ->
[ `Unarized ] Flambda2_kinds.Flambda_arity.tval get_typing_env_no_more_than_one_use :
Flambda2_simplify.Continuation_uses.t ->
Flambda2_types.Typing_env.t optionval mark_non_inlinable :
Flambda2_simplify.Continuation_uses.t ->
Flambda2_simplify.Continuation_uses.tval clear_uses :
Flambda2_simplify.Continuation_uses.t ->
Flambda2_simplify.Continuation_uses.t