jon.recoil.org

Module Reg

module Name : sig ... end
module Stamp : sig ... end
type t = private {
  1. name : Name.t;
  2. stamp : Stamp.t;
  3. typ : Cmm.machtype_component;
  4. preassigned : bool;
  5. mutable loc : location;
}
and location =
  1. | Unknown
  2. | Reg of Regs.Phys_reg.t
  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 format_stack_location : Format.formatter -> stack_location -> unit
val format_location : Format.formatter -> location -> unit
val equal_location : location -> location -> bool
val dummy : t
val dummy_for_regalloc : t
val create : Cmm.machtype_component -> t
val create_with_typ : t -> t
val create_with_typ_and_name : ?prefix_if_var:string -> t -> t
val create_at_location : Cmm.machtype_component -> location -> t
val create_alias : t -> typ:Cmm.machtype_component -> t
val createv : Cmm.machtype -> t array
val createv_with_id : id:Ident.t -> Cmm.machtype -> t array
val createv_with_typs : t array -> t array
val createv_with_typs_and_id : id:Ident.t -> t array -> t array
val typv : t array -> Cmm.machtype
val is_reg : t -> bool
val is_stack : t -> bool
val is_unknown : t -> bool
val is_preassigned : t -> bool
val is_domainstate : t -> bool
val set_loc : t -> location -> unit
module Set : Set.S with type elt = t
module Map : Map.S with type key = t
module Tbl : Hashtbl.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 set_has_collisions : Set.t -> bool
val all_relocatable_regs : unit -> t list
val clear_relocatable_regs : unit -> unit
val reinit_relocatable_regs : unit -> unit
val same : t -> t -> bool
val compare : t -> t -> int
val same_loc : t -> t -> bool
val same_loc_fatal_on_unknown : fatal_message:string -> t -> t -> bool
val compare_loc : t -> t -> int
val compare_loc_fatal_on_unknown : fatal_message:string -> t -> t -> int
val is_of_type_addr : t -> bool
module UsingLocEquality : sig ... end
module For_testing : sig ... end
module For_printing : sig ... end