LLVM
15.0.0git
|
Class recording the (high level) value of a variable. More...
#include "CodeGen/LiveDebugValues/InstrRefBasedImpl.h"
Public Types | |
enum | KindT { Undef, Def, Const, VPHI, NoVal } |
Public Member Functions | |
DbgValue (const ValueIDNum &Val, const DbgValueProperties &Prop, KindT Kind) | |
DbgValue (unsigned BlockNo, const DbgValueProperties &Prop, KindT Kind) | |
DbgValue (const MachineOperand &MO, const DbgValueProperties &Prop, KindT Kind) | |
DbgValue (const DbgValueProperties &Prop, KindT Kind) | |
void | dump (const MLocTracker *MTrack) const |
bool | operator== (const DbgValue &Other) const |
bool | operator!= (const DbgValue &Other) const |
Public Attributes | |
ValueIDNum | ID |
If Kind is Def, the value number that this value is based on. More... | |
Optional< MachineOperand > | MO |
If Kind is Const, the MachineOperand defining this value. More... | |
int | BlockNo |
For a NoVal or VPHI DbgValue, which block it was generated in. More... | |
DbgValueProperties | Properties |
Qualifiers for the ValueIDNum above. More... | |
KindT | Kind |
Discriminator for whether this is a constant or an in-program value. More... | |
Class recording the (high level) value of a variable.
Identifies either the value of the variable as a ValueIDNum, or a constant MachineOperand. 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 229 of file InstrRefBasedImpl.h.
Enumerator | |
---|---|
Undef | |
Def | |
Const | |
VPHI | |
NoVal |
Definition at line 243 of file InstrRefBasedImpl.h.
|
inline |
Definition at line 255 of file InstrRefBasedImpl.h.
References assert(), llvm::tgtok::Def, and llvm::None.
|
inline |
Definition at line 260 of file InstrRefBasedImpl.h.
References assert(), and llvm::None.
|
inline |
Definition at line 266 of file InstrRefBasedImpl.h.
References assert().
|
inline |
Definition at line 272 of file InstrRefBasedImpl.h.
References assert(), llvm::None, and llvm::RegState::Undef.
void DbgValue::dump | ( | const MLocTracker * | MTrack | ) | const |
Definition at line 659 of file InstrRefBasedImpl.cpp.
References assert(), BlockNo, Const, llvm::dbgs(), Def, LiveDebugValues::DbgValueProperties::DIExpr, LiveDebugValues::MLocTracker::IDAsString(), LiveDebugValues::DbgValueProperties::Indirect, Kind, MO, NoVal, Properties, and VPHI.
Definition at line 300 of file InstrRefBasedImpl.h.
References Other.
Definition at line 283 of file InstrRefBasedImpl.h.
References llvm::tgtok::Def, llvm::MachineOperand::isIdenticalTo(), and Other.
int LiveDebugValues::DbgValue::BlockNo |
For a NoVal or VPHI DbgValue, which block it was generated in.
Definition at line 238 of file InstrRefBasedImpl.h.
Referenced by dump().
ValueIDNum LiveDebugValues::DbgValue::ID |
If Kind is Def, the value number that this value is based on.
VPHIs set this field to EmptyValue if there is no machine-value for this VPHI, or the corresponding machine-value if there is one.
Definition at line 234 of file InstrRefBasedImpl.h.
KindT LiveDebugValues::DbgValue::Kind |
Discriminator for whether this is a constant or an in-program value.
Definition at line 253 of file InstrRefBasedImpl.h.
Referenced by dump().
Optional<MachineOperand> LiveDebugValues::DbgValue::MO |
If Kind is Const, the MachineOperand defining this value.
Definition at line 236 of file InstrRefBasedImpl.h.
Referenced by dump().
DbgValueProperties LiveDebugValues::DbgValue::Properties |
Qualifiers for the ValueIDNum above.
Definition at line 241 of file InstrRefBasedImpl.h.
Referenced by dump().