LLVM 20.0.0git
|
TODO: Might pack better if we changed this to a Struct of Arrays, since MachineOperand is width 32, making this struct width 33. More...
#include "CodeGen/LiveDebugValues/InstrRefBasedImpl.h"
Public Member Functions | |
DbgOp () | |
DbgOp (ValueIDNum ID) | |
DbgOp (MachineOperand MO) | |
bool | isUndef () const |
void | dump (const MLocTracker *MTrack) const |
Public Attributes | |
union { | |
ValueIDNum ID | |
MachineOperand MO | |
}; | |
bool | IsConst |
TODO: Might pack better if we changed this to a Struct of Arrays, since MachineOperand is width 32, making this struct width 33.
We could also potentially avoid storing the whole MachineOperand (sizeof=32), instead choosing to store just the contents portion (sizeof=8) and a Kind enum, since we already know it is some type of immediate value. Stores a single debug operand, which can either be a MachineOperand for directly storing immediate values, or a ValueIDNum representing some value computed at some point in the program. IsConst is used as a discriminator.
Definition at line 359 of file InstrRefBasedImpl.h.
|
inline |
Definition at line 366 of file InstrRefBasedImpl.h.
|
inline |
Definition at line 367 of file InstrRefBasedImpl.h.
|
inline |
Definition at line 368 of file InstrRefBasedImpl.h.
void DbgOp::dump | ( | const MLocTracker * | MTrack | ) | const |
Definition at line 983 of file InstrRefBasedImpl.cpp.
References llvm::dbgs(), LiveDebugValues::MLocTracker::IDAsString(), IsConst, isUndef(), and MO.
Referenced by LiveDebugValues::DbgOpID::dump().
|
inline |
Definition at line 370 of file InstrRefBasedImpl.h.
References LiveDebugValues::ValueIDNum::EmptyValue, and IsConst.
Referenced by dump().
union { ... } LiveDebugValues::DbgOp::@461 |
ValueIDNum LiveDebugValues::DbgOp::ID |
Definition at line 361 of file InstrRefBasedImpl.h.
bool LiveDebugValues::DbgOp::IsConst |
Definition at line 364 of file InstrRefBasedImpl.h.
MachineOperand LiveDebugValues::DbgOp::MO |
Definition at line 362 of file InstrRefBasedImpl.h.
Referenced by dump().