LLVM 20.0.0git
Public Member Functions | Public Attributes | List of all members
LiveDebugValues::DbgOp Struct Reference

TODO: Might pack better if we changed this to a Struct of Arrays, since MachineOperand is width 32, making this struct width 33. More...

#include "CodeGen/LiveDebugValues/InstrRefBasedImpl.h"

Public Member Functions

 DbgOp ()
 
 DbgOp (ValueIDNum ID)
 
 DbgOp (MachineOperand MO)
 
bool isUndef () const
 
void dump (const MLocTracker *MTrack) const
 

Public Attributes

union {
   ValueIDNum   ID
 
   MachineOperand   MO
 
}; 
 
bool IsConst
 

Detailed Description

TODO: Might pack better if we changed this to a Struct of Arrays, since MachineOperand is width 32, making this struct width 33.

We could also potentially avoid storing the whole MachineOperand (sizeof=32), instead choosing to store just the contents portion (sizeof=8) and a Kind enum, since we already know it is some type of immediate value. Stores a single debug operand, which can either be a MachineOperand for directly storing immediate values, or a ValueIDNum representing some value computed at some point in the program. IsConst is used as a discriminator.

Definition at line 359 of file InstrRefBasedImpl.h.

Constructor & Destructor Documentation

◆ DbgOp() [1/3]

LiveDebugValues::DbgOp::DbgOp ( )
inline

Definition at line 366 of file InstrRefBasedImpl.h.

◆ DbgOp() [2/3]

LiveDebugValues::DbgOp::DbgOp ( ValueIDNum  ID)
inline

Definition at line 367 of file InstrRefBasedImpl.h.

◆ DbgOp() [3/3]

LiveDebugValues::DbgOp::DbgOp ( MachineOperand  MO)
inline

Definition at line 368 of file InstrRefBasedImpl.h.

Member Function Documentation

◆ dump()

void DbgOp::dump ( const MLocTracker MTrack) const

◆ isUndef()

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

Definition at line 370 of file InstrRefBasedImpl.h.

References LiveDebugValues::ValueIDNum::EmptyValue, and IsConst.

Referenced by dump().

Member Data Documentation

◆ 

union { ... } LiveDebugValues::DbgOp::@461

◆ ID

ValueIDNum LiveDebugValues::DbgOp::ID

Definition at line 361 of file InstrRefBasedImpl.h.

◆ IsConst

bool LiveDebugValues::DbgOp::IsConst

Definition at line 364 of file InstrRefBasedImpl.h.

Referenced by dump(), and isUndef().

◆ MO

MachineOperand LiveDebugValues::DbgOp::MO

Definition at line 362 of file InstrRefBasedImpl.h.

Referenced by dump().


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