Up

module Reg

: sig
#
module Raw_name : sig
#
type t
#
val create_from_ident : Ident.t -> t
end
#
type t = {
# mutable raw_name
: Raw_name.t;
# stamp
: int;
# typ
: Cmm.machtype_component;
# mutable loc
: location;
# mutable spill
: bool;
# mutable part
: int option;
# mutable interf
: t list;
# mutable prefer
: (t * int) list;
# mutable degree
: int;
# mutable spill_cost
: int;
# mutable visited
: bool;
}
#
type location =
# | Unknown
# | Reg of int
# | Stack of stack_location
#
type stack_location =
# | Local of int
# | Incoming of int
# | Outgoing 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 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
end