LLVM: LiveDebugValues::DbgValue Class Reference (original) (raw)

Class recording the (high level) value of a variable. More...

#include "[CodeGen/LiveDebugValues/InstrRefBasedImpl.h](InstrRefBasedImpl%5F8h%5Fsource.html)"

Public Types
enum KindT { Undef, Def, VPHI, NoVal }
Public Member Functions
DbgValue (ArrayRef< DbgOpID > DbgOps, const DbgValueProperties &Prop)
DbgValue (unsigned BlockNo, const DbgValueProperties &Prop, KindT Kind)
DbgValue (const DbgValueProperties &Prop, KindT Kind)
void dump (const MLocTracker *MTrack=nullptr, const DbgOpIDMap *OpStore=nullptr) const
bool operator== (const DbgValue &Other) const
bool operator!= (const DbgValue &Other) const
ArrayRef< DbgOpID > getDbgOpIDs () const
DbgOpID getDbgOpID (unsigned Index) const
void setDbgOpIDs (ArrayRef< DbgOpID > NewIDs)
unsigned getLocationOpCount () const
bool hasJoinableLocOps (const DbgValue &Other) const
bool isUnjoinedPHI () const
bool hasIdenticalValidLocOps (const DbgValue &Other) const
Public Attributes
int BlockNo
For a NoVal or VPHI DbgValue, which block it was generated in.
DbgValueProperties Properties
Qualifiers for the ValueIDNum above.
KindT Kind
Discriminator for whether this is a constant or an in-program value.

Class recording the (high level) value of a variable.

Identifies the value of the variable as a list of ValueIDNums and constant MachineOperands, or as an empty list for undef debug values or VPHI values which we have not found valid locations for. This class also stores meta-information about how the value is qualified. Used to reason about variable values when performing the second (DebugVariable specific) dataflow analysis.

Definition at line 513 of file InstrRefBasedImpl.h.

KindT

DbgValue() [1/3]

Definition at line 541 of file InstrRefBasedImpl.h.

References llvm::any_of(), assert(), BlockNo, llvm::dbgs(), DbgValue(), Def, LiveDebugValues::DbgValueProperties::getLocationOpCount(), Kind, LLVM_DEBUG, MAX_DBG_OPS, Properties, llvm::size(), and Undef.

Referenced by DbgValue(), hasIdenticalValidLocOps(), hasJoinableLocOps(), operator!=(), and operator==().

DbgValue() [2/3]

DbgValue() [3/3]

dump()

getDbgOpID()

DbgOpID LiveDebugValues::DbgValue::getDbgOpID ( unsigned Index) const inline

getDbgOpIDs()

ArrayRef< DbgOpID > LiveDebugValues::DbgValue::getDbgOpIDs ( ) const inline

getLocationOpCount()

unsigned LiveDebugValues::DbgValue::getLocationOpCount ( ) const inline

hasIdenticalValidLocOps()

bool LiveDebugValues::DbgValue::hasIdenticalValidLocOps ( const DbgValue & Other) const inline

hasJoinableLocOps()

bool LiveDebugValues::DbgValue::hasJoinableLocOps ( const DbgValue & Other) const inline

isUnjoinedPHI()

bool LiveDebugValues::DbgValue::isUnjoinedPHI ( ) const inline

operator!=()

operator==()

setDbgOpIDs()

void LiveDebugValues::DbgValue::setDbgOpIDs ( ArrayRef< DbgOpID > NewIDs) inline

BlockNo

int LiveDebugValues::DbgValue::BlockNo

Kind

KindT LiveDebugValues::DbgValue::Kind

Properties


The documentation for this class was generated from the following files: