Compute_ranges.Make
module S : Compute_ranges_intf.S_functor
module Subrange : sig ... end
module Range : sig ... end
val empty : t
A value of type t
that holds no range information.
val create : Linear.fundecl -> t * Linear.fundecl
Compute ranges for the code in the given linearized function declaration, returning the ranges as a value of type t
and the rewritten code that must go forward for emission.
Iterate through ranges. Each range is associated with an index.
val all_indexes : t -> S.Index.Set.t
All indexes for which the given value of type t
contains ranges.
val rewrite_labels_and_remove_empty_subranges_and_ranges : t -> env:int Numbers.Int.Map.t -> t
An internal function used by Coalesce_labels
. The env
should come from Coalesce_labels.fundecl
.