module Debug_info : sig ... end
type t
type reg_with_debug_info = t
val create : reg:Reg.t -> holds_value_of:Backend_var.t -> part_of_value:int -> num_parts_of_value:int -> which_parameter:int option -> provenance:unit option -> t
val create_with_debug_info : reg:Reg.t -> debug_info:Debug_info.t option -> t
val create_without_debug_info : reg:Reg.t -> t
val create_copying_debug_info : reg:Reg.t -> debug_info_from:t -> t
val reg : t -> Reg.t
val location : t -> Reg.location
val debug_info : t -> Debug_info.t option
val at_same_location : t -> Reg.t -> register_class:(Reg.t -> int) -> bool
at_same_location t reg
holds iff the registert
corresponds to the same (physical or pseudoregister) location as the registerreg
, which is not equipped with debugging information.register_class
should beProc.register_class
.
val holds_pointer : t -> bool
val holds_non_pointer : t -> bool
val assigned_to_stack : t -> bool
assigned_to_stack t
holds iff the location oft
is a hard stack slot.
module Set_distinguishing_names_and_locations : Stdlib.Set.S with type elt = t
module Map_distinguishing_names_and_locations : Stdlib.Map.S with type key = t
module Set : sig ... end
val print : print_reg:(Stdlib.Format.formatter -> Reg.t -> unit) -> Stdlib.Format.formatter -> t -> unit