LLVM  6.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 }
 

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...
 
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...
 
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.

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

References C, and CONST.

◆ SDDbgValue() [3/3]

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

Constructor for frame indices.

Definition at line 73 of file SDNodeDbgValue.h.

References FRAMEIX.

Member Function Documentation

◆ getConst()

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

Returns the Value* for a constant.

Definition at line 96 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 105 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 87 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 99 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 81 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 109 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 93 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 90 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 84 of file SDNodeDbgValue.h.

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

◆ isIndirect()

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

Returns whether this is an indirect value.

Definition at line 102 of file SDNodeDbgValue.h.

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

◆ isInvalidated()

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

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

Referenced by llvm::SelectionDAG::salvageDebugInfo().

Member Data Documentation

◆ Const

const Value* llvm::SDDbgValue::Const

Valid for constants.

Definition at line 43 of file SDNodeDbgValue.h.

◆ FrameIx

unsigned llvm::SDDbgValue::FrameIx

Valid for stack objects.

Definition at line 44 of file SDNodeDbgValue.h.

◆ Node

SDNode* llvm::SDDbgValue::Node

Valid for expressions.

Definition at line 40 of file SDNodeDbgValue.h.

◆ ResNo

unsigned llvm::SDDbgValue::ResNo

Valid for expressions.

Definition at line 41 of file SDNodeDbgValue.h.

◆ s

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

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