Record of a variable value‐assignment, aka a non instruction representation of the dbg.value intrinsic.
Synopsis
Declared in <llvm/IR/DebugProgramInstruction.h>
class DbgVariableRecord
: public DbgRecord
, protected DebugValueUser
Description
This class inherits from DebugValueUser to allow LLVM's metadata facilities to update our references to metadata beneath our feet.
Base Classes
Name |
Description |
Base class for non‐instruction debug metadata records positioned in IR. |
Protected Base Classes
Name |
Description |
Base class for tracking ValueAsMetadata/DIArgLists with user lookups and Owner callbacks outside of ValueAsMetadata. |
Types
Name |
Description |
Bidirectional iterator over location operands as |
Type Aliases
Name |
Description |
Const iterator over |
|
Iterator over |
Enums
Name |
Description |
Subclass discriminator. |
|
Kind of variable location this record describes. |
Member Functions
Name |
Description |
|
Constructors |
Append location operands and update the expression that uses them. |
|
Clone this variable record. |
|
Convert this DbgVariableRecord back into a dbg.value intrinsic. |
|
@{ Delete this record, dispatching to the correct subclass destructor. |
|
Dump this record to stderr for debugging. |
|
Unlink this record from its marker and destroy it. |
|
Return the address component of a dbg.assign. |
|
Return the DIExpression applied to the address component. |
|
Return the |
|
Return the basic block that contains this debug record. |
|
Return the LLVM context that owns this debug record. |
|
Return the source location associated with this debug record. |
|
Return the DIExpression applied to the location/value component. |
|
Return fragment info for the variable if the expression describes one. |
|
Return fragment info, or a fragment covering the whole variable if known. |
|
Get the size (in bits) of the variable, or fragment of the variable that is described. |
|
Return the function that contains this debug record. |
|
Return the instruction whose program position this record is attached to. |
|
Return the |
|
Return the module that contains this debug record. |
|
Return the next |
|
Return the number of location operands describing this variable. |
|
Return the basic block that contains this debug record. |
|
Return the previous |
|
Return the address metadata operand without type checking. |
|
Return the address DIExpression metadata node without type checking. |
|
Return the assign ID metadata operand without type checking. |
|
Return the expression metadata node without type checking. |
|
Return the metadata operand for the first location description. |
|
Return the variable metadata node without type checking. |
|
Return the subclass discriminator for this record. |
|
Return whether this is a declare, value, or assign‐style variable record. |
|
Return the value at location operand |
|
Return the local variable described by this record. |
|
Return the value at location operand index |
|
Return true if this record's location is a |
|
Returns true if this DbgVariableRecord has no empty MDNodes in its location list. |
|
|
|
|
|
Does this describe the address of a local variable. True for dbg.addr and dbg.declare, but not dbg.value or dbg.declare_value, which describes its value. |
|
@{ Return true if this record corresponds to a dbg.assign. |
|
Return true if this record corresponds to a dbg.declare. |
|
Return true if this record corresponds to a dbg.declare_value. |
|
Return true if this record corresponds to a dbg.value. |
|
|
|
|
|
Return true if the address component is a kill/undef. |
|
Return true if the location is undef, empty, or otherwise marks a kill. |
|
Determine if this describes the value of a local variable. It is false for dbg.declare, but true for dbg.value and dbg.declare_value, which describes its value. |
|
Get the locations corresponding to the referenced variable. |
|
|
|
|
|
|
|
Unlink this record from its marker without destroying it. |
|
|
|
Set the address component of a dbg.assign to |
|
Set the DIExpression applied to the address component of a dbg.assign. |
|
Set the |
|
Set the source location associated with this debug record. |
|
Set the DIExpression that describes how to interpret the location. |
|
Kill the address component. |
|
Mark the variable location as a kill/undef. |
|
Associate this record with the given |
|
Set the raw location metadata operand directly. |
|
Set the local variable described by this record. |
Static Member Functions
Name |
Description |
Support type inquiry through isa, cast, and dyn_cast. |
|
Create a dbg.assign‐style record linking a value, address, and assign ID. |
|
|
|
|
|
|
|
Create a dbg.assign record and link it to |
|
Create a variable record during parsing with possibly unresolved metadata. |
Data Members
Name |
Description |
DIExpression applied to the address component of a dbg.assign. |
|
DIExpression applied to the location/value component. |
|
Marker that this DbgRecord is linked into. |
|
Classification of whether this is a dbg.value, dbg.declare, or dbg.assign. |
|
Local variable described by this debug‐info record. |
Protected Member Functions
Name |
Description |
Assignment operators |
|
Return the tracked debug‐value metadata operands. |
|
Return the owning DbgVariableRecord that holds these debug‐value operands. |
|
Update a tracked debug‐value pointer after RAUW. |
|
Replace the debug‐value operand at |
|
Clear and untrack all debug‐value operands. |
|
Return true if the tracked debug‐value operands equal those of |
|
Return true if the tracked debug‐value operands differ from |
Protected Data Members
Name |
Description |
Source location associated with this debug record. |
|
Tracked debug‐value metadata operands (up to three). |
|
Subclass discriminator. |
Friends
Name |
Description |
Base class for tracking ValueAsMetadata/DIArgLists with user lookups and Owner callbacks outside of ValueAsMetadata. |
Non-Member Functions
Name |
Description |
Convert a dbg.declare into a dbg.value after a PHI. |
|
Convert a dbg.declare into a dbg.value at a store. |
|
Convert a dbg.declare into a dbg.value at a load. |
|
Insert a dbg.value before a store with an associated dbg.value. |
|
As above, for DVRDeclareValues. |
|
Finds dbg.declare records declaring local variables as living in the memory that 'V' points to. |
|
As above, for DVRValues. |
|
Produce a DebugLoc to use for each dbg.declare that is promoted to a dbg.value. |
|
Wrap a |
|
Return instructions that perform the assignment encoded by |
|
Return a range of dbg_assign records for which |
Created with MrDocs