module Index : Identifiable.SCorresponds to
Indexin theS_functormodule type.
module Key : sig ... endCorresponds to
Keyin theS_functormodule type.
module Subrange_state : S_subrange_stateCorresponds to
Subrange_statein theS_functormodule type.
module Subrange_info : S_subrange_info with type key := Key.t with type subrange_state := Subrange_state.tCorresponds to
Subrange_infoin theS_functormodule type.
module Range_info : S_range_info with type key := Key.t with type index := Index.tCorresponds to
Range_infoin theS_functormodule type.
module Subrange : sig ... endmodule Range : sig ... endval empty : tA value of type
tthat holds no range information.
val create : Linearize.fundecl -> t * Linearize.fundeclCompute ranges for the code in the given linearized function declaration, returning the ranges as a value of type
tand the rewritten code that must go forward for emission.
val iter : t -> f:(Index.t -> Range.t -> unit) -> unitIterate through ranges. Each range is associated with an index.
val all_indexes : t -> Index.Set.tAll indexes for which the given value of type
tcontains ranges.
val rewrite_labels_and_remove_empty_subranges_and_ranges : t -> env:int Numbers.Int.Map.t -> tAn internal function used by
Coalesce_labels. Theenvshould come fromCoalesce_labels.fundecl.