14 #ifndef LLVM_LIB_CODEGEN_SELECTIONDAG_SDNODEDBGVALUE_H 15 #define LLVM_LIB_CODEGEN_SELECTIONDAG_SDNODEDBGVALUE_H 62 : Var(Var), Expr(Expr), DL(
std::move(dl)), Order(O), IsIndirect(indir) {
71 : Var(Var), Expr(Expr), DL(
std::move(dl)), Order(O), IsIndirect(
false) {
78 bool IsIndirect,
DebugLoc DL,
unsigned Order,
80 : Var(Var), Expr(Expr), DL(DL), Order(Order), IsIndirect(IsIndirect) {
82 "Invalid SDDbgValue constructor");
85 u.VReg = VRegOrFrameIdx;
87 u.FrameIx = VRegOrFrameIdx;
151 : Label(Label), DL(
std::move(dl)), Order(O) {}
unsigned VReg
Valid for registers.
struct llvm::SDDbgValue::@355::@356 s
This class represents lattice values for constants.
SDNode * getSDNode() const
Returns the SDNode* for a register ref.
bool isInvalidated() const
void setIsEmitted()
setIsEmitted / isEmitted - Getter/Setter for flag indicating that this SDDbgValue has been emitted to...
const Value * getConst() const
Returns the Value* for a constant.
unsigned ResNo
Valid for expressions.
unsigned FrameIx
Valid for stack objects.
Value is a virtual register.
unsigned getResNo() const
Returns the ResNo for a register ref.
unsigned getVReg() const
Returns the Virtual Register for a VReg.
unsigned getFrameIx() const
Returns the FrameIx for a stack object.
const Value * Const
Valid for constants.
Value is contents of a stack location.
LLVM_DUMP_METHOD void dump(raw_ostream &OS) const
DIVariable * getVariable() const
Returns the DIVariable pointer for the variable.
DbgValueKind getKind() const
Returns the kind.
Base class for variables.
SDDbgValue(DIVariable *Var, DIExpression *Expr, SDNode *N, unsigned R, bool indir, DebugLoc dl, unsigned O)
Constructor for non-constants.
DebugLoc getDebugLoc() const
Returns the DebugLoc.
SDDbgValue(DIVariable *Var, DIExpression *Expr, const Value *C, DebugLoc dl, unsigned O)
Constructor for constants.
DIExpression * getExpression() const
Returns the DIExpression pointer for the expression.
DebugLoc getDebugLoc() const
Returns the DebugLoc.
void setIsInvalidated()
setIsInvalidated / isInvalidated - Setter / getter of the "Invalidated" property. ...
Represents one node in the SelectionDAG.
SDNode * Node
Valid for expressions.
Value is the result of an expression.
Holds the information from a dbg_label node through SDISel.
MDNode * getLabel() const
Returns the MDNode pointer for the label.
void clearIsEmitted()
clearIsEmitted - Reset Emitted flag, for certain special cases where dbg.addr is emitted twice...
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
LLVM Value Representation.
This class implements an extremely fast bulk output stream that can only output to a stream...
unsigned getOrder() const
Returns the SDNodeOrder.
SDDbgLabel(MDNode *Label, DebugLoc dl, unsigned O)
bool isIndirect() const
Returns whether this is an indirect value.
Holds the information from a dbg_value node through SDISel.
SDDbgValue(DIVariable *Var, DIExpression *Expr, unsigned VRegOrFrameIdx, bool IsIndirect, DebugLoc DL, unsigned Order, enum DbgValueKind Kind)
Constructor for virtual registers and frame indices.
unsigned getOrder() const
Returns the SDNodeOrder.