[llvm] [SPIRV] Emit NonSemantic DebugFunctionDeclaration for DISubprograms (declarations). (PR #203615)
Juan Manuel Martinez CaamaƱo via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 15 06:21:07 PDT 2026
================
@@ -567,15 +676,18 @@ void SPIRVNonSemanticDebugHandler::emitNonSemanticGlobalDebugInfo(
// Emit DebugSource and DebugCompilationUnit for each compile unit.
for (auto [Info, SrcLangReg] : llvm::zip(CompileUnits, SrcLangRegs)) {
- MCRegister FileStrReg = getCachedOpStringReg(Info.FilePath);
- MCRegister DebugSourceReg =
- emitExtInst(SPIRV::NonSemanticExtInst::DebugSource, VoidTypeReg,
- ExtInstSetReg, {FileStrReg}, MAI);
- emitExtInst(
+ MCRegister FileStrReg = ScopeToPathOpStringReg.lookup(Info.TheCU);
+ assert(FileStrReg.isValid() &&
+ "CU path OpString must be emitted in emitNonSemanticDebugStrings");
+ MCRegister DebugSourceReg = getOrEmitDebugSourceForFileStrReg(
+ FileStrReg, VoidTypeReg, ExtInstSetReg, MAI);
+ MCRegister CUDbgReg = emitExtInst(
SPIRV::NonSemanticExtInst::DebugCompilationUnit, VoidTypeReg,
ExtInstSetReg,
{DebugInfoVersionReg, DwarfVersionReg, DebugSourceReg, SrcLangReg},
MAI);
+ if (Info.TheCU)
+ CUToCompilationUnitDbgReg[Info.TheCU] = CUDbgReg;
----------------
jmmartinez wrote:
Can we add a test with more than one CU ?
https://github.com/llvm/llvm-project/pull/203615
More information about the llvm-commits
mailing list