LLVM  8.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 VRegOrFrameIdx, bool IsIndirect, DebugLoc DL, unsigned Order, enum DbgValueKind Kind)
 Constructor for virtual registers and frame indices. 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
 
LLVM_DUMP_METHOD void dump (raw_ostream &OS) 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 31 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 33 of file SDNodeDbgValue.h.

Constructor & Destructor Documentation

◆ SDDbgValue() [1/3]

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 59 of file SDNodeDbgValue.h.

References N, and SDNODE.

◆ SDDbgValue() [2/3]

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

Constructor for constants.

Definition at line 68 of file SDNodeDbgValue.h.

References C, and CONST.

◆ SDDbgValue() [3/3]

llvm::SDDbgValue::SDDbgValue ( DIVariable Var,
DIExpression Expr,
unsigned  VRegOrFrameIdx,
bool  IsIndirect,
DebugLoc  DL,
unsigned  Order,
enum DbgValueKind  Kind 
)
inline

Constructor for virtual registers and frame indices.

Definition at line 76 of file SDNodeDbgValue.h.

References assert(), FRAMEIX, Kind, and VREG.

Member Function Documentation

◆ dump()

LLVM_DUMP_METHOD void SDDbgValue::dump ( raw_ostream OS) const

Definition at line 697 of file SelectionDAGDumper.cpp.

Referenced by isInvalidated().

◆ getConst()

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

Returns the Value* for a constant.

Definition at line 105 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 117 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 96 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 108 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 90 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 121 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 102 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 99 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 93 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 111 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 114 of file SDNodeDbgValue.h.

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

◆ isInvalidated()

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

Definition at line 127 of file SDNodeDbgValue.h.

References dump(), and LLVM_DUMP_METHOD.

◆ 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 126 of file SDNodeDbgValue.h.

Member Data Documentation

◆ Const

const Value* llvm::SDDbgValue::Const

Valid for constants.

Definition at line 45 of file SDNodeDbgValue.h.

◆ FrameIx

unsigned llvm::SDDbgValue::FrameIx

Valid for stack objects.

Definition at line 46 of file SDNodeDbgValue.h.

◆ Node

SDNode* llvm::SDDbgValue::Node

Valid for expressions.

Definition at line 42 of file SDNodeDbgValue.h.

◆ ResNo

unsigned llvm::SDDbgValue::ResNo

Valid for expressions.

Definition at line 43 of file SDNodeDbgValue.h.

◆ s

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

◆ VReg

unsigned llvm::SDDbgValue::VReg

Valid for registers.

Definition at line 47 of file SDNodeDbgValue.h.


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