[clang] [llvm] [HLSL][SPRIV] Handle signed RWBuffer correctly (PR #144774)

Nathan Gauër via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 19 08:31:27 PDT 2025


================
@@ -341,6 +341,13 @@ class SPIRVInstructionSelector : public InstructionSelector {
                                 GIntrinsic &HandleDef, MachineInstr &Pos) const;
 };
 
+bool sampledTypeIsSignedInteger(const llvm::Type *HandleType) {
+  const TargetExtType *TET = cast<TargetExtType>(HandleType);
+  if (TET->getTargetExtName() == "spirv.Image") {
+    return false;
+  }
+  return TET->getTypeParameter(0)->isIntegerTy();
----------------
Keenuts wrote:

nit: `assert(TET->getTargetExtName() == "spirv.SignedImage")`

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


More information about the llvm-commits mailing list