[PATCH 37/79] [NFC] Use typed pointers for null function pointers debug info (#1969)
authorDmitry Sidorov <dmitry.sidorov@intel.com>
Fri, 21 Apr 2023 22:02:48 +0000 (00:02 +0200)
committerAndreas Beckmann <anbe@debian.org>
Thu, 8 Feb 2024 21:48:18 +0000 (22:48 +0100)
`PointerType::get(Context` will return typeless/opaque pointer. While it
is OK for KHR translator since it's being built on top of LLVM trunk,
where opaque pointers are enabled by default - it won't work for
intel/llvm, where their generation is disabled.

Upstream of https://github.com/intel/llvm/pull/9118

Signed-off-by: Sidorov, Dmitry <dmitry.sidorov@intel.com>
Gbp-Pq: Name 0037-NFC-Use-typed-pointers-for-null-function-pointers-de.patch

lib/SPIRV/LLVMToSPIRVDbgTran.cpp

index 7ff8b9a15ff505c66055bb06f25cc76276331b7b..49f1cfba3611e34e22811e375348c3316d0f773d 100644 (file)
@@ -1027,8 +1027,8 @@ LLVMToSPIRVDbgTran::transDbgTemplateParameter(const DITemplateParameter *TP) {
       Constant *C = cast<ConstantAsMetadata>(TVVal)->getValue();
       Ops[ValueIdx] = SPIRVWriter->transValue(C, nullptr)->getId();
     } else {
-      SPIRVType *TyPtr =
-          SPIRVWriter->transType(PointerType::get(M->getContext(), 0));
+      SPIRVType *TyPtr = SPIRVWriter->transType(
+          PointerType::get(Type::getInt8Ty(M->getContext()), 0));
       Ops[ValueIdx] = BM->addNullConstant(TyPtr)->getId();
     }
   }