[Mlir-commits] [mlir] [mlir][spirv-to-llvm] Add conversion for spirv.Switch (PR #232941)

Arseniy Obolenskiy llvmlistbot at llvm.org
Mon Oct 19 22:13:40 PDT 2026


================
@@ -612,6 +612,35 @@ class BranchConditionalConversionPattern
   }
 };
 
+class SwitchConversionPattern : public SPIRVToLLVMConversion<spirv::SwitchOp> {
+public:
+  using SPIRVToLLVMConversion<spirv::SwitchOp>::SPIRVToLLVMConversion;
+
+  LogicalResult
+  matchAndRewrite(spirv::SwitchOp op, OpAdaptor adaptor,
+                  ConversionPatternRewriter &rewriter) const override {
+    Value selector = adaptor.getSelector();
+    auto selectorType = dyn_cast<IntegerType>(selector.getType());
+    if (!selectorType)
+      return rewriter.notifyMatchFailure(op, "selector is not an integer");
+
----------------
aobolensk wrote:

same remark regarding dyn_cast (it is checked by verifier)

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


More information about the Mlir-commits mailing list