LLVM  14.0.0git
Public Types | Public Member Functions | Public Attributes | List of all members
LiveDebugValues::DbgValue Class Reference

Class recording the (high level) value of a variable. More...

#include "CodeGen/LiveDebugValues/InstrRefBasedImpl.h"

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

Public Types

enum  KindT {
  Undef, Def, Const, VPHI,
  NoVal
}
 

Public Member Functions

 DbgValue (const ValueIDNum &Val, const DbgValueProperties &Prop, KindT Kind)
 
 DbgValue (unsigned BlockNo, const DbgValueProperties &Prop, KindT Kind)
 
 DbgValue (const MachineOperand &MO, const DbgValueProperties &Prop, KindT Kind)
 
 DbgValue (const DbgValueProperties &Prop, KindT Kind)
 
void dump (const MLocTracker *MTrack) const
 
bool operator== (const DbgValue &Other) const
 
bool operator!= (const DbgValue &Other) const
 

Public Attributes

ValueIDNum ID
 If Kind is Def, the value number that this value is based on. More...
 
Optional< MachineOperandMO
 If Kind is Const, the MachineOperand defining this value. More...
 
int BlockNo
 For a NoVal or VPHI DbgValue, which block it was generated in. More...
 
DbgValueProperties Properties
 Qualifiers for the ValueIDNum above. More...
 
KindT Kind
 Discriminator for whether this is a constant or an in-program value. More...
 

Detailed Description

Class recording the (high level) value of a variable.

Identifies either the value of the variable as a ValueIDNum, or a constant MachineOperand. This class also stores meta-information about how the value is qualified. Used to reason about variable values when performing the second (DebugVariable specific) dataflow analysis.

Definition at line 225 of file InstrRefBasedImpl.h.

Member Enumeration Documentation

◆ KindT

Enumerator
Undef 
Def 
Const 
VPHI 
NoVal 

Definition at line 239 of file InstrRefBasedImpl.h.

Constructor & Destructor Documentation

◆ DbgValue() [1/4]

LiveDebugValues::DbgValue::DbgValue ( const ValueIDNum Val,
const DbgValueProperties Prop,
KindT  Kind 
)
inline

Definition at line 251 of file InstrRefBasedImpl.h.

References assert(), llvm::tgtok::Def, and llvm::None.

◆ DbgValue() [2/4]

LiveDebugValues::DbgValue::DbgValue ( unsigned  BlockNo,
const DbgValueProperties Prop,
KindT  Kind 
)
inline

Definition at line 256 of file InstrRefBasedImpl.h.

References assert(), and llvm::None.

◆ DbgValue() [3/4]

LiveDebugValues::DbgValue::DbgValue ( const MachineOperand MO,
const DbgValueProperties Prop,
KindT  Kind 
)
inline

Definition at line 262 of file InstrRefBasedImpl.h.

References assert().

◆ DbgValue() [4/4]

LiveDebugValues::DbgValue::DbgValue ( const DbgValueProperties Prop,
KindT  Kind 
)
inline

Definition at line 268 of file InstrRefBasedImpl.h.

References assert(), llvm::None, and llvm::RegState::Undef.

Member Function Documentation

◆ dump()

void DbgValue::dump ( const MLocTracker MTrack) const

◆ operator!=()

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

Definition at line 296 of file InstrRefBasedImpl.h.

References Other.

◆ operator==()

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

Member Data Documentation

◆ BlockNo

int LiveDebugValues::DbgValue::BlockNo

For a NoVal or VPHI DbgValue, which block it was generated in.

Definition at line 234 of file InstrRefBasedImpl.h.

Referenced by dump().

◆ ID

ValueIDNum LiveDebugValues::DbgValue::ID

If Kind is Def, the value number that this value is based on.

VPHIs set this field to EmptyValue if there is no machine-value for this VPHI, or the corresponding machine-value if there is one.

Definition at line 230 of file InstrRefBasedImpl.h.

Referenced by dump().

◆ Kind

KindT LiveDebugValues::DbgValue::Kind

Discriminator for whether this is a constant or an in-program value.

Definition at line 249 of file InstrRefBasedImpl.h.

Referenced by dump().

◆ MO

Optional<MachineOperand> LiveDebugValues::DbgValue::MO

If Kind is Const, the MachineOperand defining this value.

Definition at line 232 of file InstrRefBasedImpl.h.

Referenced by dump().

◆ Properties

DbgValueProperties LiveDebugValues::DbgValue::Properties

Qualifiers for the ValueIDNum above.

Definition at line 237 of file InstrRefBasedImpl.h.

Referenced by dump().


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