LLVM  8.0.1
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
 
void setIsEmitted ()
 setIsEmitted / isEmitted - Getter/Setter for flag indicating that this SDDbgValue has been emitted to an MBB. More...
 
bool isEmitted () const
 
void clearIsEmitted ()
 clearIsEmitted - Reset Emitted flag, for certain special cases where dbg.addr is emitted twice. More...
 
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 60 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 69 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 77 of file SDNodeDbgValue.h.

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

Member Function Documentation

◆ clearIsEmitted()

void llvm::SDDbgValue::clearIsEmitted ( )
inline

clearIsEmitted - Reset Emitted flag, for certain special cases where dbg.addr is emitted twice.

Definition at line 137 of file SDNodeDbgValue.h.

References dump(), and LLVM_DUMP_METHOD.

◆ dump()

LLVM_DUMP_METHOD void SDDbgValue::dump ( raw_ostream OS) const

Definition at line 712 of file SelectionDAGDumper.cpp.

Referenced by clearIsEmitted().

◆ 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().

◆ isEmitted()

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

Definition at line 133 of file SDNodeDbgValue.h.

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

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

◆ setIsEmitted()

void llvm::SDDbgValue::setIsEmitted ( )
inline

setIsEmitted / isEmitted - Getter/Setter for flag indicating that this SDDbgValue has been emitted to an MBB.

Definition at line 132 of file SDNodeDbgValue.h.

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

◆ 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 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: