Module Reg

module Raw_name : sig ... end
type t = {
  1. mutable raw_name : Raw_name.t;
  2. stamp : int;
  3. typ : Cmm.machtype_component;
  4. mutable loc : location;
  5. mutable spill : bool;
  6. mutable part : int option;
  7. mutable interf : t list;
  8. mutable prefer : (t * int) list;
  9. mutable degree : int;
  10. mutable spill_cost : int;
  11. mutable visited : int;
}
and location =
  1. | Unknown
  2. | Reg of int
  3. | Stack of stack_location
and stack_location =
  1. | Local of int
  2. | Incoming of int
  3. | Outgoing of int
  4. | Domainstate of int
val dummy : t
val create : Cmm.machtype_component -> t
val createv : Cmm.machtype -> t array
val createv_like : t array -> t array
val clone : t -> t
val at_location : Cmm.machtype_component -> location -> t
val typv : t array -> Cmm.machtype
val anonymous : t -> bool
val name : t -> string
module Set : Set.S with type elt = t
module Map : Map.S with type key = t
val add_set_array : Set.t -> t array -> Set.t
val diff_set_array : Set.t -> t array -> Set.t
val inter_set_array : Set.t -> t array -> Set.t
val disjoint_set_array : Set.t -> t array -> bool
val set_of_array : t array -> Set.t
val reset : unit -> unit
val all_registers : unit -> t list
val num_registers : unit -> int
val reinit : unit -> unit
val mark_visited : t -> unit
val is_visited : t -> bool
val clear_visited_marks : unit -> unit