LLVM 20.0.0git
|
Identifies a unique instance of a variable. More...
#include "llvm/IR/DebugInfoMetadata.h"
Public Member Functions | |
DebugVariable (const DbgVariableIntrinsic *DII) | |
DebugVariable (const DbgVariableRecord *DVR) | |
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 3988 of file DebugInfoMetadata.h.
DebugVariable::DebugVariable | ( | const DbgVariableIntrinsic * | DII | ) |
Definition at line 44 of file DebugInfoMetadata.cpp.
DebugVariable::DebugVariable | ( | const DbgVariableRecord * | DVR | ) |
Definition at line 49 of file DebugInfoMetadata.cpp.
|
inline |
Definition at line 4003 of file DebugInfoMetadata.h.
|
inline |
Definition at line 4008 of file DebugInfoMetadata.h.
|
inline |
Definition at line 4015 of file DebugInfoMetadata.h.
Referenced by LiveDebugValues::MLocTracker::emitLoc().
|
inline |
Definition at line 4018 of file DebugInfoMetadata.h.
Referenced by LiveDebugValues::VLocTracker::considerOverlaps().
|
inline |
Definition at line 4016 of file DebugInfoMetadata.h.
Referenced by buildOverlapMapAndRecordDeclares(), LiveDebugValues::VLocTracker::considerOverlaps(), TransferTracker::emitMOLoc(), getAggregate(), and TransferTracker::isEntryValueVariable().
|
inline |
Definition at line 4014 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 4022 of file DebugInfoMetadata.h.
References F.
Referenced by LiveDebugValues::VLocTracker::considerOverlaps().
|
inline |
Definition at line 4031 of file DebugInfoMetadata.h.
References llvm::Other.
|
inline |
Definition at line 4026 of file DebugInfoMetadata.h.
References llvm::Other.