[llvm] Emit debug type vector (PR #200056)

Manuel Carrasco via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 10 04:52:13 PDT 2026


================
@@ -460,6 +468,32 @@ std::optional<MCRegister> SPIRVNonSemanticDebugHandler::mapDISignatureTypeToReg(
   return std::nullopt;
 }
 
+std::optional<MCRegister> SPIRVNonSemanticDebugHandler::emitDebugTypeVector(
+    const DICompositeType *VT, MCRegister ExtInstSetReg,
+    SPIRV::ModuleAnalysisInfo &MAI) {
+  const auto *BaseTy = dyn_cast_or_null<DIBasicType>(VT->getBaseType());
+  if (!BaseTy)
+    return std::nullopt;
+  auto BTIt = DebugTypeRegs.find(BaseTy);
+  if (BTIt == DebugTypeRegs.end())
+    return std::nullopt;
+
+  DINodeArray Elements = VT->getElements();
+  if (Elements.size() != 1)
----------------
mgcarrasco wrote:

Could you add a comment saying that this scenario is a limitation that cannot be encoded in SPIRV (if I got it right)? 

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


More information about the llvm-commits mailing list