LLVM 22.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
SDDbgValueoperator= (const SDDbgValue &Other)=delete
 ~SDDbgValue ()=delete
DIVariablegetVariable () const
 Returns the DIVariable pointer for the variable.
DIExpressiongetExpression () const
 Returns the DIExpression pointer for the expression.
ArrayRef< SDDbgOperandgetLocationOps () const
SmallVector< SDDbgOperandcopyLocationOps () const
SmallVector< SDNode * > getSDNodes () const
ArrayRef< SDNode * > getAdditionalDependencies () const
bool isIndirect () const
 Returns whether this is an indirect value.
bool isVariadic () const
const DebugLocgetDebugLoc () 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 1031 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: