[Mlir-commits] [mlir] 24b8cfa - [mlir][SPIR-V] Add roundtrip and validation test for spirv.Switch (NFC) (#200572)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Mon Jun 1 01:35:34 PDT 2026


Author: Arseniy Obolenskiy
Date: 2026-06-01T10:35:29+02:00
New Revision: 24b8cfa374d7c78fadcbb41bf9cb497c84f8dda5

URL: https://github.com/llvm/llvm-project/commit/24b8cfa374d7c78fadcbb41bf9cb497c84f8dda5
DIFF: https://github.com/llvm/llvm-project/commit/24b8cfa374d7c78fadcbb41bf9cb497c84f8dda5.diff

LOG: [mlir][SPIR-V] Add roundtrip and validation test for spirv.Switch (NFC) (#200572)

Add missing `spirv-val` tests for spirv.Switch operation

Added: 
    

Modified: 
    mlir/test/Target/SPIRV/selection.mlir

Removed: 
    


################################################################################
diff  --git a/mlir/test/Target/SPIRV/selection.mlir b/mlir/test/Target/SPIRV/selection.mlir
index d0ad118b01c8a..317c951f2ba8d 100644
--- a/mlir/test/Target/SPIRV/selection.mlir
+++ b/mlir/test/Target/SPIRV/selection.mlir
@@ -346,3 +346,32 @@ spirv.module Logical GLSL450 requires #spirv.vce<v1.5, [Shader], []> {
   spirv.EntryPoint "GLCompute" @main
   spirv.ExecutionMode @main "LocalSize", 1, 1, 1
 }
+
+// -----
+
+// Switch with only a default target (no case literals).
+
+spirv.module Logical GLSL450 requires #spirv.vce<v1.0, [Shader, Linkage], []> {
+// CHECK-LABEL: @switch_default_only
+  spirv.func @switch_default_only(%cond: i32) -> () "None" {
+// CHECK:        spirv.mlir.selection
+    spirv.mlir.selection {
+// CHECK-NEXT:     spirv.Switch %{{.*}} : i32, [
+// CHECK-NEXT:       default: ^[[DEFAULT:.+]]]
+      spirv.Switch %cond : i32, [
+        default: ^default
+      ]
+
+// CHECK-NEXT:   ^[[DEFAULT]]:
+    ^default:
+// CHECK-NEXT:     spirv.Branch ^[[MERGE:.+]]
+      spirv.Branch ^merge
+
+// CHECK-NEXT:   ^[[MERGE]]:
+    ^merge:
+// CHECK-NEXT:     spirv.mlir.merge
+      spirv.mlir.merge
+    }
+    spirv.Return
+  }
+}


        


More information about the Mlir-commits mailing list