|
LLVM 24.0.0git
|
Class recording the (high level) value of a variable. More...
#include "CodeGen/LiveDebugValues/InstrRefBasedImpl.h"
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 510 of file InstrRefBasedImpl.h.
| Enumerator | |
|---|---|
| Undef | |
| Def | |
| VPHI | |
| NoVal | |
Definition at line 526 of file InstrRefBasedImpl.h.
|
inline |
Definition at line 538 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==().
|
inline |
Definition at line 559 of file InstrRefBasedImpl.h.
References assert(), BlockNo, Kind, NoVal, Properties, and VPHI.
|
inline |
Definition at line 564 of file InstrRefBasedImpl.h.
References assert(), BlockNo, Kind, Properties, and Undef.
| void DbgValue::dump | ( | const MLocTracker * | MTrack = nullptr, |
| const DbgOpIDMap * | OpStore = nullptr ) const |
Definition at line 1009 of file InstrRefBasedImpl.cpp.
References BlockNo, llvm::dbgs(), Def, LiveDebugValues::DbgOpID::dump(), getDbgOpID(), getDbgOpIDs(), Kind, NoVal, Properties, and VPHI.
Definition at line 599 of file InstrRefBasedImpl.h.
References assert(), and LiveDebugValues::DbgOpID::UndefID.
Referenced by dump(), and hasJoinableLocOps().
Definition at line 594 of file InstrRefBasedImpl.h.
Referenced by dump(), hasIdenticalValidLocOps(), and operator==().
|
inline |
Definition at line 621 of file InstrRefBasedImpl.h.
References Properties.
Referenced by hasJoinableLocOps(), and setDbgOpIDs().
Definition at line 640 of file InstrRefBasedImpl.h.
References DbgValue(), llvm::equal(), getDbgOpIDs(), and llvm::Other.
Definition at line 628 of file InstrRefBasedImpl.h.
References DbgValue(), getDbgOpID(), getLocationOpCount(), isUnjoinedPHI(), and llvm::Other.
|
inline |
Definition at line 638 of file InstrRefBasedImpl.h.
Referenced by hasJoinableLocOps().
Definition at line 590 of file InstrRefBasedImpl.h.
References DbgValue(), and llvm::Other.
Definition at line 575 of file InstrRefBasedImpl.h.
References BlockNo, DbgValue(), Def, llvm::equal(), getDbgOpIDs(), Kind, NoVal, llvm::Other, Properties, and VPHI.
Definition at line 609 of file InstrRefBasedImpl.h.
References assert(), getLocationOpCount(), and llvm::ArrayRef< T >::size().
| int LiveDebugValues::DbgValue::BlockNo |
For a NoVal or VPHI DbgValue, which block it was generated in.
Definition at line 521 of file InstrRefBasedImpl.h.
Referenced by DbgValue(), DbgValue(), DbgValue(), dump(), and operator==().
| KindT LiveDebugValues::DbgValue::Kind |
Discriminator for whether this is a constant or an in-program value.
Definition at line 536 of file InstrRefBasedImpl.h.
Referenced by DbgValue(), DbgValue(), DbgValue(), dump(), isUnjoinedPHI(), and operator==().
| DbgValueProperties LiveDebugValues::DbgValue::Properties |
Qualifiers for the ValueIDNum above.
Definition at line 524 of file InstrRefBasedImpl.h.
Referenced by DbgValue(), DbgValue(), DbgValue(), dump(), getLocationOpCount(), and operator==().