LLVM  14.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"

Collaboration diagram for llvm::SDDbgOperand:
Collaboration graph
[legend]

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. More...
 
unsigned getResNo () const
 Returns the ResNo for a register ref. More...
 
const ValuegetConst () const
 Returns the Value* for a constant. More...
 
unsigned getFrameIx () const
 Returns the FrameIx for a stack object. More...
 
unsigned getVReg () const
 Returns the Virtual Register for a VReg. More...
 
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 30 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 32 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 76 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 53 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 59 of file SDNodeDbgValue.h.

References assert(), and FRAMEIX.

Referenced by operator==().

◆ getKind()

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

Definition at line 38 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 47 of file SDNodeDbgValue.h.

References assert(), and SDNODE.

Referenced by operator==().

◆ getSDNode()

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

Returns the SDNode* for a register ref.

Definition at line 41 of file SDNodeDbgValue.h.

References assert(), and SDNODE.

Referenced by operator==().

◆ getVReg()

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

Returns the Virtual Register for a VReg.

Definition at line 65 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 83 of file SDNodeDbgValue.h.

References Other.

◆ operator==()

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

Definition at line 84 of file SDNodeDbgValue.h.

References CONST, FRAMEIX, getConst(), getFrameIx(), getResNo(), getSDNode(), getVReg(), Other, SDNODE, and VREG.

Member Data Documentation

◆ Const

const Value* llvm::SDDbgOperand::Const

Valid for constants.

Definition at line 107 of file SDNodeDbgValue.h.

Referenced by fromConst().

◆ FrameIx

unsigned llvm::SDDbgOperand::FrameIx

Valid for stack objects.

Definition at line 108 of file SDNodeDbgValue.h.

◆ Node

SDNode* llvm::SDDbgOperand::Node

Valid for expressions.

Definition at line 104 of file SDNodeDbgValue.h.

◆ ResNo

unsigned llvm::SDDbgOperand::ResNo

Valid for expressions.

Definition at line 105 of file SDNodeDbgValue.h.

Referenced by fromNode().

◆ s

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

◆ VReg

unsigned llvm::SDDbgOperand::VReg

Valid for registers.

Definition at line 109 of file SDNodeDbgValue.h.

Referenced by fromVReg().


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