LLVM 17.0.0git
Classes | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
LiveDebugValues::DbgOpID Struct Reference

An ID used in the DbgOpIDMap (below) to lookup a stored DbgOp. More...

#include "CodeGen/LiveDebugValues/InstrRefBasedImpl.h"

Collaboration diagram for LiveDebugValues::DbgOpID:
Collaboration graph
[legend]

Classes

struct  IsConstIndexPair
 

Public Member Functions

 DbgOpID ()
 
 DbgOpID (uint32_t RawID)
 
 DbgOpID (bool IsConst, uint32_t Index)
 
bool operator== (const DbgOpID &Other) const
 
bool operator!= (const DbgOpID &Other) const
 
uint32_t asU32 () const
 
bool isUndef () const
 
bool isConst () const
 
uint32_t getIndex () const
 
void dump (const MLocTracker *MTrack, const DbgOpIDMap *OpStore) const
 

Public Attributes

union {
   struct IsConstIndexPair   ID
 
   uint32_t   RawID
 
}; 
 

Static Public Attributes

static DbgOpID UndefID = DbgOpID(0xffffffff)
 

Detailed Description

An ID used in the DbgOpIDMap (below) to lookup a stored DbgOp.

This is used in place of actual DbgOps inside of a DbgValue to reduce its size, as DbgValue is very frequently used and passed around, and the actual DbgOp is over 8x larger than this class, due to storing a MachineOperand. This ID should be equal for all equal DbgOps, and also encodes whether the mapped DbgOp is a constant, meaning that for simple equality or const-ness checks it is not necessary to lookup this ID.

Definition at line 334 of file InstrRefBasedImpl.h.

Constructor & Destructor Documentation

◆ DbgOpID() [1/3]

LiveDebugValues::DbgOpID::DbgOpID ( )
inline

Definition at line 345 of file InstrRefBasedImpl.h.

References DbgOpID().

Referenced by DbgOpID().

◆ DbgOpID() [2/3]

LiveDebugValues::DbgOpID::DbgOpID ( uint32_t  RawID)
inline

Definition at line 348 of file InstrRefBasedImpl.h.

◆ DbgOpID() [3/3]

LiveDebugValues::DbgOpID::DbgOpID ( bool  IsConst,
uint32_t  Index 
)
inline

Definition at line 349 of file InstrRefBasedImpl.h.

Member Function Documentation

◆ asU32()

uint32_t LiveDebugValues::DbgOpID::asU32 ( ) const
inline

Definition at line 356 of file InstrRefBasedImpl.h.

References RawID.

Referenced by dump().

◆ dump()

void DbgOpID::dump ( const MLocTracker MTrack,
const DbgOpIDMap OpStore 
) const

◆ getIndex()

uint32_t LiveDebugValues::DbgOpID::getIndex ( ) const
inline

Definition at line 360 of file InstrRefBasedImpl.h.

◆ isConst()

bool LiveDebugValues::DbgOpID::isConst ( ) const
inline

Definition at line 359 of file InstrRefBasedImpl.h.

References isUndef().

Referenced by LiveDebugValues::DbgValue::hasJoinableLocOps().

◆ isUndef()

bool LiveDebugValues::DbgOpID::isUndef ( ) const
inline

Definition at line 358 of file InstrRefBasedImpl.h.

References UndefID.

Referenced by isConst().

◆ operator!=()

bool LiveDebugValues::DbgOpID::operator!= ( const DbgOpID Other) const
inline

Definition at line 354 of file InstrRefBasedImpl.h.

References llvm::Other.

◆ operator==()

bool LiveDebugValues::DbgOpID::operator== ( const DbgOpID Other) const
inline

Definition at line 353 of file InstrRefBasedImpl.h.

References llvm::Other, and RawID.

Member Data Documentation

◆ 

union { ... } LiveDebugValues::DbgOpID::@432

◆ ID

struct IsConstIndexPair LiveDebugValues::DbgOpID::ID

Definition at line 341 of file InstrRefBasedImpl.h.

◆ RawID

uint32_t LiveDebugValues::DbgOpID::RawID

Definition at line 342 of file InstrRefBasedImpl.h.

Referenced by asU32(), and operator==().

◆ UndefID

DbgOpID DbgOpID::UndefID = DbgOpID(0xffffffff)
static

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