LLVM 22.0.0git
llvm::RawLocationWrapper Class Reference

Lightweight class that wraps the location operand metadata of a debug intrinsic. More...

#include "llvm/IR/IntrinsicInst.h"

Public Member Functions

 RawLocationWrapper ()=default
 RawLocationWrapper (Metadata *RawLocation)
MetadatagetRawLocation () const
LLVM_ABI iterator_range< location_op_iteratorlocation_ops () const
 Get the locations corresponding to the variable referenced by the debug info intrinsic.
LLVM_ABI ValuegetVariableLocationOp (unsigned OpIdx) const
unsigned getNumVariableLocationOps () const
bool hasArgList () const
bool isKillLocation (const DIExpression *Expression) const

Friends

bool operator== (const RawLocationWrapper &A, const RawLocationWrapper &B)
bool operator!= (const RawLocationWrapper &A, const RawLocationWrapper &B)
bool operator> (const RawLocationWrapper &A, const RawLocationWrapper &B)
bool operator>= (const RawLocationWrapper &A, const RawLocationWrapper &B)
bool operator< (const RawLocationWrapper &A, const RawLocationWrapper &B)
bool operator<= (const RawLocationWrapper &A, const RawLocationWrapper &B)

Detailed Description

Lightweight class that wraps the location operand metadata of a debug intrinsic.

The raw location may be a ValueAsMetadata, an empty MDTuple, or a DIArgList.

Definition at line 243 of file IntrinsicInst.h.

Constructor & Destructor Documentation

◆ RawLocationWrapper() [1/2]

llvm::RawLocationWrapper::RawLocationWrapper ( )
default

◆ RawLocationWrapper() [2/2]

llvm::RawLocationWrapper::RawLocationWrapper ( Metadata * RawLocation)
inlineexplicit

Definition at line 248 of file IntrinsicInst.h.

References assert(), llvm::cast(), and llvm::isa().

Member Function Documentation

◆ getNumVariableLocationOps()

unsigned llvm::RawLocationWrapper::getNumVariableLocationOps ( ) const
inline

◆ getRawLocation()

Metadata * llvm::RawLocationWrapper::getRawLocation ( ) const
inline

◆ getVariableLocationOp()

Value * RawLocationWrapper::getVariableLocationOp ( unsigned OpIdx) const

◆ hasArgList()

bool llvm::RawLocationWrapper::hasArgList ( ) const
inline

◆ isKillLocation()

bool llvm::RawLocationWrapper::isKillLocation ( const DIExpression * Expression) const
inline

◆ location_ops()

iterator_range< location_op_iterator > RawLocationWrapper::location_ops ( ) const

Get the locations corresponding to the variable referenced by the debug info intrinsic.

DbgVariableIntrinsic - This is the common base class for debug info intrinsics for variables.

Depending on the intrinsic, this could be the variable's value or its address.

Definition at line 74 of file IntrinsicInst.cpp.

References assert(), llvm::dyn_cast(), and getRawLocation().

Referenced by isKillLocation(), and llvm::DbgVariableIntrinsic::location_ops().

◆ operator!=

bool operator!= ( const RawLocationWrapper & A,
const RawLocationWrapper & B )
friend

Definition at line 285 of file IntrinsicInst.h.

References A(), B(), and RawLocationWrapper().

◆ operator<

bool operator< ( const RawLocationWrapper & A,
const RawLocationWrapper & B )
friend

Definition at line 297 of file IntrinsicInst.h.

References A(), B(), and RawLocationWrapper().

◆ operator<=

bool operator<= ( const RawLocationWrapper & A,
const RawLocationWrapper & B )
friend

Definition at line 301 of file IntrinsicInst.h.

References A(), B(), and RawLocationWrapper().

◆ operator==

bool operator== ( const RawLocationWrapper & A,
const RawLocationWrapper & B )
friend

Definition at line 281 of file IntrinsicInst.h.

References A(), B(), and RawLocationWrapper().

◆ operator>

bool operator> ( const RawLocationWrapper & A,
const RawLocationWrapper & B )
friend

Definition at line 289 of file IntrinsicInst.h.

References A(), B(), and RawLocationWrapper().

◆ operator>=

bool operator>= ( const RawLocationWrapper & A,
const RawLocationWrapper & B )
friend

Definition at line 293 of file IntrinsicInst.h.

References A(), B(), and RawLocationWrapper().


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