jon.recoil.org

Module Reg

module Name : sig ... end
type t = private {
  1. name : Reg.Name.t;
  2. stamp : int;
  3. typ : Cmm.machtype_component;
  4. preassigned : bool;
  5. mutable loc : Reg.location;
}
and location =
  1. | Unknown
  2. | Reg of int
  3. | Stack of Reg.stack_location
and stack_location =
  1. | Local of int
  2. | Incoming of int
  3. | Outgoing of int
  4. | Domainstate of int
val equal_location : Reg.location -> Reg.location -> bool
val dummy : Reg.t
val dummy_for_regalloc : Reg.t
val create_with_typ : Reg.t -> Reg.t
val create_with_typ_and_name : ?prefix_if_var:string -> Reg.t -> Reg.t
val create_at_location : Cmm.machtype_component -> Reg.location -> Reg.t
val create_alias : Reg.t -> typ:Cmm.machtype_component -> Reg.t
val createv : Cmm.machtype -> Reg.t array
val createv_with_id : id:Ident.t -> Cmm.machtype -> Reg.t array
val createv_with_typs : Reg.t array -> Reg.t array
val createv_with_typs_and_id : id:Ident.t -> Reg.t array -> Reg.t array
val typv : Reg.t array -> Cmm.machtype
val is_reg : Reg.t -> bool
val is_stack : Reg.t -> bool
val is_unknown : Reg.t -> bool
val is_preassigned : Reg.t -> bool
val is_domainstate : Reg.t -> bool
val set_loc : Reg.t -> Reg.location -> unit
module Set : Stdlib.Set.S with type elt = Reg.t
module Map : Stdlib.Map.S with type key = Reg.t
module Tbl : Stdlib.Hashtbl.S with type key = Reg.t
val add_set_array : Reg.Set.t -> Reg.t array -> Reg.Set.t
val diff_set_array : Reg.Set.t -> Reg.t array -> Reg.Set.t
val inter_set_array : Reg.Set.t -> Reg.t array -> Reg.Set.t
val disjoint_set_array : Reg.Set.t -> Reg.t array -> bool
val set_of_array : Reg.t array -> Reg.Set.t
val set_has_collisions : Reg.Set.t -> bool
val all_relocatable_regs : unit -> Reg.t list
val clear_relocatable_regs : unit -> unit
val reinit_relocatable_regs : unit -> unit
val same : Reg.t -> Reg.t -> bool
val compare : Reg.t -> Reg.t -> int
val same_loc : Reg.t -> Reg.t -> bool
val same_loc_fatal_on_unknown : fatal_message:string -> Reg.t -> Reg.t -> bool
val compare_loc : Reg.t -> Reg.t -> int
val compare_loc_fatal_on_unknown : fatal_message:string -> Reg.t -> Reg.t -> int
val is_of_type_addr : Reg.t -> bool
module UsingLocEquality : sig ... end
module For_testing : sig ... end
module For_printing : sig ... end