[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:06 PDT 2026


================
@@ -452,6 +464,86 @@ SPIRVNonSemanticDebugHandler::emitDebugTypeFunctionForSubroutineType(
   return getOrEmitDebugTypeFunction(Ops, VoidTypeReg, ExtInstSetReg, MAI);
 }
 
+std::optional<MCRegister>
+SPIRVNonSemanticDebugHandler::resolveDebugFunctionDeclarationParent(
+    const DISubprogram *SP) const {
+  // Current logic matches SPIRV-LLVM-Translator's logic for Parent operand.
+
+  if (const DIScope *Scope = SP->getScope()) {
+    if (!isa<DIFile>(Scope)) {
----------------
jmmartinez wrote:

Maybe write it like this to reduce nesting.

```cpp
if(isa<DIFile>(Scope))
  continue;
...
```

https://github.com/llvm/llvm-project/pull/203615


More information about the llvm-commits mailing list