package ocaml-base-compiler

  1. Overview
  2. Docs

Registers equipped with information used for generating debugging information.

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 register t corresponds to the same (physical or pseudoregister) location as the register reg, which is not equipped with debugging information. register_class should be Proc.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 of t is a hard stack slot.

val clear_debug_info : t -> t
module Set : sig ... end
val print : print_reg:(Format.formatter -> Reg.t -> unit) -> Format.formatter -> t -> unit