LLVM  7.0.0svn
Public Types | Public Member Functions | List of all members
llvm::SDDbgValue Class Reference

Holds the information from a dbg_value node through SDISel. More...

#include "CodeGen/SelectionDAG/SDNodeDbgValue.h"

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

Public Types

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

Public Member Functions

 SDDbgValue (DIVariable *Var, DIExpression *Expr, SDNode *N, unsigned R, bool indir, DebugLoc dl, unsigned O)
 Constructor for non-constants. More...
 
 SDDbgValue (DIVariable *Var, DIExpression *Expr, const Value *C, DebugLoc dl, unsigned O)
 Constructor for constants. More...
 
 SDDbgValue (DIVariable *Var, DIExpression *Expr, unsigned FI, DebugLoc dl, unsigned O)
 Constructor for frame indices. More...
 
 SDDbgValue (DIVariable *Var, DIExpression *Expr, unsigned VReg, bool indir, DebugLoc dl, unsigned O)
 Constructor for virtual registers. More...
 
DbgValueKind getKind () const
 Returns the kind. More...
 
DIVariablegetVariable () const
 Returns the DIVariable pointer for the variable. More...
 
DIExpressiongetExpression () const
 Returns the DIExpression pointer for the expression. More...
 
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 isIndirect () const
 Returns whether this is an indirect value. More...
 
DebugLoc getDebugLoc () const
 Returns the DebugLoc. More...
 
unsigned getOrder () const
 Returns the SDNodeOrder. More...
 
void setIsInvalidated ()
 setIsInvalidated / isInvalidated - Setter / getter of the "Invalidated" property. More...
 
bool isInvalidated () const
 

Detailed Description

Holds the information from a dbg_value node through SDISel.

We do not use SDValue here to avoid including its header.

Definition at line 30 of file SDNodeDbgValue.h.

Member Enumeration Documentation

◆ DbgValueKind

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.

Constructor & Destructor Documentation

◆ SDDbgValue() [1/4]

llvm::SDDbgValue::SDDbgValue ( DIVariable Var,
DIExpression Expr,
SDNode N,
unsigned  R,
bool  indir,
DebugLoc  dl,
unsigned  O 
)
inline

Constructor for non-constants.

Definition at line 58 of file SDNodeDbgValue.h.

References N, and SDNODE.

◆ SDDbgValue() [2/4]

llvm::SDDbgValue::SDDbgValue ( DIVariable Var,
DIExpression Expr,
const Value C,
DebugLoc  dl,
unsigned  O 
)
inline

Constructor for constants.

Definition at line 67 of file SDNodeDbgValue.h.

References C, and CONST.

◆ SDDbgValue() [3/4]

llvm::SDDbgValue::SDDbgValue ( DIVariable Var,
DIExpression Expr,
unsigned  FI,
DebugLoc  dl,
unsigned  O 
)
inline

Constructor for frame indices.

Definition at line 75 of file SDNodeDbgValue.h.

References FRAMEIX.

◆ SDDbgValue() [4/4]

llvm::SDDbgValue::SDDbgValue ( DIVariable Var,
DIExpression Expr,
unsigned  VReg,
bool  indir,
DebugLoc  dl,
unsigned  O 
)
inline

Constructor for virtual registers.

Definition at line 83 of file SDNodeDbgValue.h.

References VREG, and VReg.

Member Function Documentation

◆ getConst()

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

Returns the Value* for a constant.

Definition at line 106 of file SDNodeDbgValue.h.

References assert(), and CONST.

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

◆ getDebugLoc()

DebugLoc llvm::SDDbgValue::getDebugLoc ( ) const
inline

Returns the DebugLoc.

Definition at line 118 of file SDNodeDbgValue.h.

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

◆ getExpression()

DIExpression* llvm::SDDbgValue::getExpression ( ) const
inline

Returns the DIExpression pointer for the expression.

Definition at line 97 of file SDNodeDbgValue.h.

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

◆ getFrameIx()

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

Returns the FrameIx for a stack object.

Definition at line 109 of file SDNodeDbgValue.h.

References assert(), and FRAMEIX.

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

◆ getKind()

DbgValueKind llvm::SDDbgValue::getKind ( ) const
inline

Returns the kind.

Definition at line 91 of file SDNodeDbgValue.h.

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

◆ getOrder()

unsigned llvm::SDDbgValue::getOrder ( ) const
inline

Returns the SDNodeOrder.

This is the order of the preceding node in the input.

Definition at line 122 of file SDNodeDbgValue.h.

Referenced by llvm::ScheduleDAGSDNodes::EmitSchedule().

◆ getResNo()

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

Returns the ResNo for a register ref.

Definition at line 103 of file SDNodeDbgValue.h.

References assert(), and SDNODE.

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

◆ getSDNode()

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

Returns the SDNode* for a register ref.

Definition at line 100 of file SDNodeDbgValue.h.

References assert(), and SDNODE.

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

◆ getVariable()

DIVariable* llvm::SDDbgValue::getVariable ( ) const
inline

Returns the DIVariable pointer for the variable.

Definition at line 94 of file SDNodeDbgValue.h.

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

◆ getVReg()

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

Returns the Virtual Register for a VReg.

Definition at line 112 of file SDNodeDbgValue.h.

References assert(), and VREG.

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

◆ isIndirect()

bool llvm::SDDbgValue::isIndirect ( ) const
inline

Returns whether this is an indirect value.

Definition at line 115 of file SDNodeDbgValue.h.

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

◆ isInvalidated()

bool llvm::SDDbgValue::isInvalidated ( ) const
inline

Definition at line 128 of file SDNodeDbgValue.h.

◆ setIsInvalidated()

void llvm::SDDbgValue::setIsInvalidated ( )
inline

setIsInvalidated / isInvalidated - Setter / getter of the "Invalidated" property.

A SDDbgValue is invalid if the SDNode that produces the value is deleted.

Definition at line 127 of file SDNodeDbgValue.h.

Member Data Documentation

◆ Const

const Value* llvm::SDDbgValue::Const

Valid for constants.

Definition at line 44 of file SDNodeDbgValue.h.

◆ FrameIx

unsigned llvm::SDDbgValue::FrameIx

Valid for stack objects.

Definition at line 45 of file SDNodeDbgValue.h.

◆ Node

SDNode* llvm::SDDbgValue::Node

Valid for expressions.

Definition at line 41 of file SDNodeDbgValue.h.

◆ ResNo

unsigned llvm::SDDbgValue::ResNo

Valid for expressions.

Definition at line 42 of file SDNodeDbgValue.h.

◆ s

struct { ... } llvm::SDDbgValue::s

◆ VReg

unsigned llvm::SDDbgValue::VReg

Valid for registers.

Definition at line 46 of file SDNodeDbgValue.h.

Referenced by SDDbgValue().


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