LLVM 18.0.0git
|
Identifies a unique instance of a variable. More...
#include "llvm/IR/DebugInfoMetadata.h"
Public Member Functions | |
DebugVariable (const DbgVariableIntrinsic *DII) | |
DebugVariable (const DPValue *DPV) | |
DebugVariable (const DILocalVariable *Var, std::optional< FragmentInfo > FragmentInfo, const DILocation *InlinedAt) | |
DebugVariable (const DILocalVariable *Var, const DIExpression *DIExpr, const DILocation *InlinedAt) | |
const DILocalVariable * | getVariable () const |
std::optional< FragmentInfo > | getFragment () const |
const DILocation * | getInlinedAt () const |
FragmentInfo | getFragmentOrDefault () const |
bool | operator== (const DebugVariable &Other) const |
bool | operator< (const DebugVariable &Other) const |
Static Public Member Functions | |
static bool | isDefaultFragment (const FragmentInfo F) |
Identifies a unique instance of a variable.
Storage for identifying a potentially inlined instance of a variable, or a fragment thereof. This guarantees that exactly one variable instance may be identified by this class, even when that variable is a fragment of an aggregate variable and/or there is another inlined instance of the same source code variable nearby. This class does not necessarily uniquely identify that variable: it is possible that a DebugVariable with different parameters may point to the same variable instance, but not that one DebugVariable points to multiple variable instances.
Definition at line 3805 of file DebugInfoMetadata.h.
DebugVariable::DebugVariable | ( | const DbgVariableIntrinsic * | DII | ) |
Definition at line 40 of file DebugInfoMetadata.cpp.
Definition at line 45 of file DebugInfoMetadata.cpp.
|
inline |
Definition at line 3820 of file DebugInfoMetadata.h.
|
inline |
Definition at line 3825 of file DebugInfoMetadata.h.
|
inline |
Definition at line 3832 of file DebugInfoMetadata.h.
Referenced by LiveDebugValues::MLocTracker::emitLoc().
|
inline |
Definition at line 3835 of file DebugInfoMetadata.h.
Referenced by LiveDebugValues::VLocTracker::considerOverlaps().
|
inline |
Definition at line 3833 of file DebugInfoMetadata.h.
Referenced by buildOverlapMapAndRecordDeclares(), LiveDebugValues::VLocTracker::considerOverlaps(), LiveDebugValues::MLocTracker::emitLoc(), TransferTracker::emitMOLoc(), getAggregate(), and TransferTracker::isEntryValueVariable().
|
inline |
Definition at line 3831 of file DebugInfoMetadata.h.
Referenced by buildOverlapMapAndRecordDeclares(), LiveDebugValues::VLocTracker::considerOverlaps(), LiveDebugValues::MLocTracker::emitLoc(), TransferTracker::emitMOLoc(), getAggregate(), llvm::FunctionVarLocs::getDILocalVariable(), TransferTracker::isEntryValueVariable(), removeRedundantDbgLocsUsingForwardScan(), and removeUndefDbgLocsFromEntryBlock().
|
inlinestatic |
Definition at line 3839 of file DebugInfoMetadata.h.
References F.
Referenced by LiveDebugValues::VLocTracker::considerOverlaps().
|
inline |
Definition at line 3848 of file DebugInfoMetadata.h.
References llvm::Other.
|
inline |
Definition at line 3843 of file DebugInfoMetadata.h.
References llvm::Other.