Module Interval

type range = {
  1. mutable rbegin : int;
  2. mutable rend : int;
}
type t = {
  1. mutable reg : Reg.t;
  2. mutable ibegin : int;
  3. mutable iend : int;
  4. mutable ranges : range list;
}
type result = {
  1. intervals : t list;
  2. fixed_intervals : t list;
}
val overlap : t -> t -> bool
val is_live : t -> int -> bool
val remove_expired_ranges : t -> int -> unit
val build_intervals : Mach.fundecl -> result