LLVM  14.0.0git
Public Member Functions | Static Public Member Functions | List of all members
llvm::DebugVariable Class Reference

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

#include "llvm/IR/DebugInfoMetadata.h"

Public Member Functions

 DebugVariable (const DILocalVariable *Var, Optional< FragmentInfo > FragmentInfo, const DILocation *InlinedAt)
 
 DebugVariable (const DILocalVariable *Var, const DIExpression *DIExpr, const DILocation *InlinedAt)
 
const DILocalVariablegetVariable () const
 
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 3659 of file DebugInfoMetadata.h.

Constructor & Destructor Documentation

◆ DebugVariable() [1/2]

llvm::DebugVariable::DebugVariable ( const DILocalVariable Var,
Optional< FragmentInfo FragmentInfo,
const DILocation InlinedAt 
)
inline

Definition at line 3671 of file DebugInfoMetadata.h.

◆ DebugVariable() [2/2]

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

Definition at line 3675 of file DebugInfoMetadata.h.

Member Function Documentation

◆ getFragment()

Optional<FragmentInfo> llvm::DebugVariable::getFragment ( ) const
inline

Definition at line 3682 of file DebugInfoMetadata.h.

◆ getFragmentOrDefault()

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

Definition at line 3685 of file DebugInfoMetadata.h.

References llvm::Optional< T >::getValueOr().

◆ getInlinedAt()

const DILocation* llvm::DebugVariable::getInlinedAt ( ) const
inline

Definition at line 3683 of file DebugInfoMetadata.h.

◆ getVariable()

const DILocalVariable* llvm::DebugVariable::getVariable ( ) const
inline

Definition at line 3681 of file DebugInfoMetadata.h.

◆ isDefaultFragment()

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

Definition at line 3689 of file DebugInfoMetadata.h.

References F.

◆ operator<()

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

Definition at line 3698 of file DebugInfoMetadata.h.

References Other.

◆ operator==()

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

Definition at line 3693 of file DebugInfoMetadata.h.

References Other.


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