LLVM 19.0.0git
Public Types | Public Member Functions | Static Public Member Functions | List of all members
llvm::SDDbgOperand Class Reference

Holds the information for a single machine location through SDISel; either an SDNode, a constant, a stack location, or a virtual register. More...

#include "CodeGen/SelectionDAG/SDNodeDbgValue.h"

Public Types

enum  Kind { SDNODE = 0 , CONST = 1 , FRAMEIX = 2 , VREG = 3 }
 

Public Member Functions

Kind getKind () const
 
SDNodegetSDNode () const
 Returns the SDNode* for a register ref.
 
unsigned getResNo () const
 Returns the ResNo for a register ref.
 
const ValuegetConst () const
 Returns the Value* for a constant.
 
unsigned getFrameIx () const
 Returns the FrameIx for a stack object.
 
unsigned getVReg () const
 Returns the Virtual Register for a VReg.
 
bool operator!= (const SDDbgOperand &Other) const
 
bool operator== (const SDDbgOperand &Other) const
 

Static Public Member Functions

static SDDbgOperand fromNode (SDNode *Node, unsigned ResNo)
 
static SDDbgOperand fromFrameIdx (unsigned FrameIdx)
 
static SDDbgOperand fromVReg (unsigned VReg)
 
static SDDbgOperand fromConst (const Value *Const)
 

Detailed Description

Holds the information for a single machine location through SDISel; either an SDNode, a constant, a stack location, or a virtual register.

Definition at line 31 of file SDNodeDbgValue.h.

Member Enumeration Documentation

◆ Kind

Enumerator
SDNODE 

Value is the result of an expression.

CONST 

Value is a constant.

FRAMEIX 

Value is contents of a stack location.

VREG 

Value is a virtual register.

Definition at line 33 of file SDNodeDbgValue.h.

Member Function Documentation

◆ fromConst()

static SDDbgOperand llvm::SDDbgOperand::fromConst ( const Value Const)
inlinestatic

◆ fromFrameIdx()

static SDDbgOperand llvm::SDDbgOperand::fromFrameIdx ( unsigned  FrameIdx)
inlinestatic

◆ fromNode()

static SDDbgOperand llvm::SDDbgOperand::fromNode ( SDNode Node,
unsigned  ResNo 
)
inlinestatic

◆ fromVReg()

static SDDbgOperand llvm::SDDbgOperand::fromVReg ( unsigned  VReg)
inlinestatic

Definition at line 77 of file SDNodeDbgValue.h.

References VREG, and VReg.

Referenced by llvm::SelectionDAG::getVRegDbgValue(), and llvm::SelectionDAGBuilder::handleDebugValue().

◆ getConst()

const Value * llvm::SDDbgOperand::getConst ( ) const
inline

Returns the Value* for a constant.

Definition at line 54 of file SDNodeDbgValue.h.

References assert(), and CONST.

Referenced by operator==().

◆ getFrameIx()

unsigned llvm::SDDbgOperand::getFrameIx ( ) const
inline

Returns the FrameIx for a stack object.

Definition at line 60 of file SDNodeDbgValue.h.

References assert(), and FRAMEIX.

Referenced by operator==().

◆ getKind()

Kind llvm::SDDbgOperand::getKind ( ) const
inline

Definition at line 39 of file SDNodeDbgValue.h.

Referenced by llvm::InstrEmitter::EmitDbgInstrRef().

◆ getResNo()

unsigned llvm::SDDbgOperand::getResNo ( ) const
inline

Returns the ResNo for a register ref.

Definition at line 48 of file SDNodeDbgValue.h.

References assert(), and SDNODE.

Referenced by llvm::InstrEmitter::EmitDbgInstrRef(), and operator==().

◆ getSDNode()

SDNode * llvm::SDDbgOperand::getSDNode ( ) const
inline

Returns the SDNode* for a register ref.

Definition at line 42 of file SDNodeDbgValue.h.

References assert(), and SDNODE.

Referenced by llvm::InstrEmitter::EmitDbgInstrRef(), and operator==().

◆ getVReg()

unsigned llvm::SDDbgOperand::getVReg ( ) const
inline

Returns the Virtual Register for a VReg.

Definition at line 66 of file SDNodeDbgValue.h.

References assert(), and VREG.

Referenced by llvm::InstrEmitter::EmitDbgInstrRef(), and operator==().

◆ operator!=()

bool llvm::SDDbgOperand::operator!= ( const SDDbgOperand Other) const
inline

Definition at line 84 of file SDNodeDbgValue.h.

References llvm::Other.

◆ operator==()

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

Member Data Documentation

◆ Const

const Value* llvm::SDDbgOperand::Const

Valid for constants.

Definition at line 108 of file SDNodeDbgValue.h.

Referenced by fromConst().

◆ FrameIx

unsigned llvm::SDDbgOperand::FrameIx

Valid for stack objects.

Definition at line 109 of file SDNodeDbgValue.h.

◆ Node

SDNode* llvm::SDDbgOperand::Node

Valid for expressions.

Definition at line 105 of file SDNodeDbgValue.h.

◆ ResNo

unsigned llvm::SDDbgOperand::ResNo

Valid for expressions.

Definition at line 106 of file SDNodeDbgValue.h.

Referenced by fromNode().

◆ 

struct { ... } llvm::SDDbgOperand::s

◆ VReg

unsigned llvm::SDDbgOperand::VReg

Valid for registers.

Definition at line 110 of file SDNodeDbgValue.h.

Referenced by fromVReg().


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