[Mlir-commits] [mlir] [mlir][spirv] Add pattern matching for arith.index_cast i1 to index for ArithToSPIRV (PR #155729)

Jakub Kuderski llvmlistbot at llvm.org
Sat Aug 30 10:39:26 PDT 2025


================
@@ -607,6 +607,35 @@ struct UIToFPI1Pattern final : public OpConversionPattern<arith::UIToFPOp> {
   }
 };
 
+//===----------------------------------------------------------------------===//
+// IndexCastOp
+//===----------------------------------------------------------------------===//
+
+/// Converts arith.index_cast to spirv.Select if the source type is i1
+struct IndexCastI1IndexPattern final
+    : public OpConversionPattern<arith::IndexCastOp> {
+  using OpConversionPattern::OpConversionPattern;
+
+  LogicalResult
+  matchAndRewrite(arith::IndexCastOp op, OpAdaptor adaptor,
+                  ConversionPatternRewriter &rewriter) const override {
+    Type srcType = adaptor.getOperands().front().getType();
----------------
kuhar wrote:

```suggestion
    Type srcType = adaptor.getIn().getType();
```

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


More information about the Mlir-commits mailing list