LLVM 22.0.0git
llvm::DebugVariable Class Reference

Identifies a unique instance of a variable. More...

#include "llvm/IR/DebugInfoMetadata.h"

Inheritance diagram for llvm::DebugVariable:
[legend]

Public Member Functions

LLVM_ABI 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 DILocalVariablegetVariable () const
std::optional< FragmentInfogetFragment () const
const DILocationgetInlinedAt () 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)

Detailed Description

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 4589 of file DebugInfoMetadata.h.

Constructor & Destructor Documentation

◆ DebugVariable() [1/3]

DebugVariable::DebugVariable ( const DbgVariableRecord * DVR)

◆ DebugVariable() [2/3]

llvm::DebugVariable::DebugVariable ( const DILocalVariable * Var,
std::optional< FragmentInfo > FragmentInfo,
const DILocation * InlinedAt )
inline

Definition at line 4603 of file DebugInfoMetadata.h.

◆ DebugVariable() [3/3]

llvm::DebugVariable::DebugVariable ( const DILocalVariable * Var,
const DIExpression * DIExpr,
const DILocation * InlinedAt )
inline

Definition at line 4608 of file DebugInfoMetadata.h.

Member Function Documentation

◆ getFragment()

std::optional< FragmentInfo > llvm::DebugVariable::getFragment ( ) const
inline

Definition at line 4615 of file DebugInfoMetadata.h.

Referenced by LiveDebugValues::MLocTracker::emitLoc().

◆ getFragmentOrDefault()

FragmentInfo llvm::DebugVariable::getFragmentOrDefault ( ) const
inline

◆ getInlinedAt()

◆ getVariable()

◆ isDefaultFragment()

bool llvm::DebugVariable::isDefaultFragment ( const FragmentInfo F)
inlinestatic

Definition at line 4622 of file DebugInfoMetadata.h.

References F.

Referenced by LiveDebugValues::VLocTracker::considerOverlaps().

◆ operator<()

bool llvm::DebugVariable::operator< ( const DebugVariable & Other) const
inline

Definition at line 4631 of file DebugInfoMetadata.h.

References DebugVariable(), and llvm::Other.

◆ operator==()

bool llvm::DebugVariable::operator== ( const DebugVariable & Other) const
inline

Definition at line 4626 of file DebugInfoMetadata.h.

References DebugVariable(), and llvm::Other.


The documentation for this class was generated from the following files: