@@ -70,28 +70,28 @@ void LLVMToSPIRVDbgTran::transDebugMetadata() {
70
70
for (const DISubprogram *F : DIF.subprograms ())
71
71
transDbgEntry (F);
72
72
73
- for (const DbgDeclareInst *DDI : DbgDeclareIntrinsics)
73
+ for (const DbgVariableIntrinsic *DDI : DbgDeclareIntrinsics)
74
74
finalizeDebugDeclare (DDI);
75
75
76
- for (const DbgValueInst *DVI : DbgValueIntrinsics)
76
+ for (const DbgVariableIntrinsic *DVI : DbgValueIntrinsics)
77
77
finalizeDebugValue (DVI);
78
78
79
79
transLocationInfo ();
80
80
}
81
81
82
82
// llvm.dbg.declare intrinsic.
83
83
84
- SPIRVValue *
85
- LLVMToSPIRVDbgTran::createDebugDeclarePlaceholder (const DbgDeclareInst *DbgDecl,
86
- SPIRVBasicBlock *BB) {
84
+ SPIRVValue *LLVMToSPIRVDbgTran::createDebugDeclarePlaceholder (
85
+ const DbgVariableIntrinsic *DbgDecl, SPIRVBasicBlock *BB) {
87
86
DbgDeclareIntrinsics.push_back (DbgDecl);
88
87
using namespace SPIRVDebug ::Operand::DebugDeclare;
89
88
SPIRVWordVec Ops (OperandCount, getDebugInfoNoneId ());
90
89
SPIRVId ExtSetId = BM->getExtInstSetId (SPIRVEIS_Debug);
91
90
return BM->addExtInst (getVoidTy (), ExtSetId, SPIRVDebug::Declare, Ops, BB);
92
91
}
93
92
94
- void LLVMToSPIRVDbgTran::finalizeDebugDeclare (const DbgDeclareInst *DbgDecl) {
93
+ void LLVMToSPIRVDbgTran::finalizeDebugDeclare (
94
+ const DbgVariableIntrinsic *DbgDecl) {
95
95
SPIRVValue *V = SPIRVWriter->getTranslatedValue (DbgDecl);
96
96
assert (V && " llvm.dbg.declare intrinsic isn't mapped to a SPIRV instruction" );
97
97
assert (V->isExtInst (SPIRV::SPIRVEIS_Debug, SPIRVDebug::Declare) &&
@@ -100,7 +100,7 @@ void LLVMToSPIRVDbgTran::finalizeDebugDeclare(const DbgDeclareInst *DbgDecl) {
100
100
return ;
101
101
SPIRVExtInst *DD = static_cast <SPIRVExtInst *>(V);
102
102
SPIRVBasicBlock *BB = DD->getBasicBlock ();
103
- llvm::Value *Alloca = DbgDecl->getAddress ();
103
+ llvm::Value *Alloca = DbgDecl->getVariableLocation ();
104
104
105
105
using namespace SPIRVDebug ::Operand::DebugDeclare;
106
106
SPIRVWordVec Ops (OperandCount);
@@ -113,10 +113,9 @@ void LLVMToSPIRVDbgTran::finalizeDebugDeclare(const DbgDeclareInst *DbgDecl) {
113
113
114
114
// llvm.dbg.value intrinsic.
115
115
116
- SPIRVValue *
117
- LLVMToSPIRVDbgTran::createDebugValuePlaceholder (const DbgValueInst *DbgValue,
118
- SPIRVBasicBlock *BB) {
119
- if (!DbgValue->getValue ())
116
+ SPIRVValue *LLVMToSPIRVDbgTran::createDebugValuePlaceholder (
117
+ const DbgVariableIntrinsic *DbgValue, SPIRVBasicBlock *BB) {
118
+ if (!DbgValue->getVariableLocation (/* AllowNullOp = */ false ))
120
119
return nullptr ; // It is pointless without new value
121
120
122
121
DbgValueIntrinsics.push_back (DbgValue);
@@ -126,7 +125,8 @@ LLVMToSPIRVDbgTran::createDebugValuePlaceholder(const DbgValueInst *DbgValue,
126
125
return BM->addExtInst (getVoidTy (), ExtSetId, SPIRVDebug::Value, Ops, BB);
127
126
}
128
127
129
- void LLVMToSPIRVDbgTran::finalizeDebugValue (const DbgValueInst *DbgValue) {
128
+ void LLVMToSPIRVDbgTran::finalizeDebugValue (
129
+ const DbgVariableIntrinsic *DbgValue) {
130
130
SPIRVValue *V = SPIRVWriter->getTranslatedValue (DbgValue);
131
131
assert (V && " llvm.dbg.value intrinsic isn't mapped to a SPIRV instruction" );
132
132
assert (V->isExtInst (SPIRV::SPIRVEIS_Debug, SPIRVDebug::Value) &&
@@ -135,7 +135,7 @@ void LLVMToSPIRVDbgTran::finalizeDebugValue(const DbgValueInst *DbgValue) {
135
135
return ;
136
136
SPIRVExtInst *DV = static_cast <SPIRVExtInst *>(V);
137
137
SPIRVBasicBlock *BB = DV->getBasicBlock ();
138
- Value *Val = DbgValue->getValue ( );
138
+ Value *Val = DbgValue->getVariableLocation ( /* AllowNullOp = */ false );
139
139
140
140
using namespace SPIRVDebug ::Operand::DebugValue;
141
141
SPIRVWordVec Ops (MinOperandCount);
0 commit comments