LLVM 24.0.0git
llvm::SDDbgValue Class Reference

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

#include "CodeGen/SelectionDAG/SDNodeDbgValue.h"

Public Member Functions

 SDDbgValue (BumpPtrAllocator &Alloc, DIVariable *Var, DIExpression *Expr, ArrayRef< SDDbgOperand > L, ArrayRef< SDNode * > Dependencies, bool IsIndirect, DebugLoc DL, unsigned O, bool IsVariadic)
 SDDbgValue (const SDDbgValue &Other)=delete
SDDbgValue & operator= (const SDDbgValue &Other)=delete
 ~SDDbgValue ()=delete
DIVariable * getVariable () const
 Returns the DIVariable pointer for the variable.
DIExpression * getExpression () const
 Returns the DIExpression pointer for the expression.
ArrayRef< SDDbgOperand > getLocationOps () const
SmallVector< SDDbgOperand > copyLocationOps () const
SmallVector< SDNode * > getSDNodes () const
ArrayRef< SDNode * > getAdditionalDependencies () const
bool isIndirect () const
 Returns whether this is an indirect value.
bool isVariadic () const
const DebugLoc & getDebugLoc () const
 Returns the DebugLoc.
unsigned getOrder () const
 Returns the SDNodeOrder.
void setIsInvalidated ()
 setIsInvalidated / isInvalidated - Setter / getter of the "Invalidated" property.
bool isInvalidated () const
void setIsEmitted ()
 setIsEmitted / isEmitted - Getter/Setter for flag indicating that this SDDbgValue has been emitted to an MBB.
bool isEmitted () const
void clearIsEmitted ()
 clearIsEmitted - Reset Emitted flag, for certain special cases where SDDbgValue is emitted twice.
LLVM_DUMP_METHOD void dump () const
LLVM_DUMP_METHOD void print (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 134 of file SDNodeDbgValue.h.

Constructor & Destructor Documentation

◆ SDDbgValue() [1/2]

llvm::SDDbgValue::SDDbgValue ( BumpPtrAllocator & Alloc,
DIVariable * Var,
DIExpression * Expr,
ArrayRef< SDDbgOperand > L,
ArrayRef< SDNode * > Dependencies,
bool IsIndirect,
DebugLoc DL,
unsigned O,
bool IsVariadic )
inline

Definition at line 157 of file SDNodeDbgValue.h.

References llvm::Alloc, assert(), llvm::copy(), and llvm::size().

Referenced by operator=(), and SDDbgValue().

◆ SDDbgValue() [2/2]

llvm::SDDbgValue::SDDbgValue ( const SDDbgValue & Other)
delete

References llvm::Other, and SDDbgValue().

◆ ~SDDbgValue()

llvm::SDDbgValue::~SDDbgValue ( )
delete

Member Function Documentation

◆ clearIsEmitted()

void llvm::SDDbgValue::clearIsEmitted ( )
inline

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

DBG_INSTR_REF depends on this behaviour.

Definition at line 234 of file SDNodeDbgValue.h.

◆ copyLocationOps()

SmallVector< SDDbgOperand > llvm::SDDbgValue::copyLocationOps ( ) const
inline

Definition at line 190 of file SDNodeDbgValue.h.

References llvm::SmallVector.

◆ dump()

LLVM_DUMP_METHOD void SDDbgValue::dump ( ) const

Definition at line 1090 of file SelectionDAGDumper.cpp.

References llvm::dbgs(), isInvalidated(), LLVM_DUMP_METHOD, and print().

◆ getAdditionalDependencies()

ArrayRef< SDNode * > llvm::SDDbgValue::getAdditionalDependencies ( ) const
inline

Definition at line 204 of file SDNodeDbgValue.h.

References llvm::ArrayRef().

Referenced by getSDNodes().

◆ getDebugLoc()

◆ getExpression()

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

◆ getLocationOps()

◆ getOrder()

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

Returns the SDNodeOrder.

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

Definition at line 219 of file SDNodeDbgValue.h.

Referenced by print().

◆ getSDNodes()

◆ getVariable()

◆ isEmitted()

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

Definition at line 230 of file SDNodeDbgValue.h.

Referenced by print().

◆ isIndirect()

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

Returns whether this is an indirect value.

Definition at line 210 of file SDNodeDbgValue.h.

Referenced by llvm::InstrEmitter::EmitDbgInstrRef(), llvm::InstrEmitter::EmitDbgValueFromSingleOp(), and print().

◆ isInvalidated()

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

Definition at line 225 of file SDNodeDbgValue.h.

Referenced by dump(), llvm::InstrEmitter::EmitDbgValue(), and print().

◆ isVariadic()

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

◆ operator=()

SDDbgValue & llvm::SDDbgValue::operator= ( const SDDbgValue & Other)
delete

References llvm::Other, and SDDbgValue().

◆ print()

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


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