We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 12be066 commit 18bbc25Copy full SHA for 18bbc25
lib/SPIRV/SPIRVToLLVMDbgTran.cpp
@@ -1101,6 +1101,11 @@ MDNode *SPIRVToLLVMDbgTran::transEntryPoint(const SPIRVExtInst *DebugInst) {
1101
assert(Ops.size() == OperandCount && "Invalid number of operands");
1102
1103
SPIRVExtInst *EP = BM->get<SPIRVExtInst>(Ops[EntryPointIdx]);
1104
+ // Handle cases where we get the trampoline / stub instead of an actual kernel
1105
+ if (isNonSemanticDebugInfo(DebugInst->getExtSetKind()) &&
1106
+ EP->getArguments().size() <
1107
+ SPIRVDebug::Operand::Function::MinOperandCountNonSem)
1108
+ EP = BM->get<SPIRVExtInst>(EP->getArguments().front());
1109
SPIRVExtInst *CU = BM->get<SPIRVExtInst>(Ops[CompilationUnitIdx]);
1110
std::string Producer = getString(Ops[CompilerSignatureIdx]);
1111
std::string CLArgs = getString(Ops[CommandLineArgsIdx]);
0 commit comments