[Mlir-commits] [mlir] [mlir][spirv] Support SPIR-V 1.6 in deserializer (PR #151958)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Mon Aug 4 06:06:05 PDT 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-mlir

@llvm/pr-subscribers-mlir-spirv

Author: Igor Wodiany (IgWod-IMG)

<details>
<summary>Changes</summary>

After skimming through the changes in the spec, there does not seem to be anything that will cause issues. A new roundtrip test has been added and validate with `spirv-val` just in case.

---
Full diff: https://github.com/llvm/llvm-project/pull/151958.diff


2 Files Affected:

- (modified) mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp (+1) 
- (modified) mlir/test/Target/SPIRV/module.mlir (+6) 


``````````diff
diff --git a/mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp b/mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
index 88931b53a6889..33cac1663deb1 100644
--- a/mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
+++ b/mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
@@ -138,6 +138,7 @@ LogicalResult spirv::Deserializer::processHeader() {
       MIN_VERSION_CASE(3);
       MIN_VERSION_CASE(4);
       MIN_VERSION_CASE(5);
+      MIN_VERSION_CASE(6);
 #undef MIN_VERSION_CASE
     default:
       return emitError(unknownLoc, "unsupported SPIR-V minor version: ")
diff --git a/mlir/test/Target/SPIRV/module.mlir b/mlir/test/Target/SPIRV/module.mlir
index 165412485a088..dcdcab8097e41 100644
--- a/mlir/test/Target/SPIRV/module.mlir
+++ b/mlir/test/Target/SPIRV/module.mlir
@@ -20,6 +20,12 @@ spirv.module Logical GLSL450 requires #spirv.vce<v1.5, [Shader], []> {
 
 // -----
 
+// CHECK: v1.6
+spirv.module Logical GLSL450 requires #spirv.vce<v1.6, [Shader, Linkage], []> {
+}
+
+// -----
+
 // CHECK: [Shader, Float16]
 spirv.module Logical GLSL450 requires #spirv.vce<v1.0, [Shader, Float16], []> {
 }

``````````

</details>


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


More information about the Mlir-commits mailing list