[Mlir-commits] [mlir] [mlir][Vector] Tighten up application conditions in TransferReadAfter… (PR #143869)

Renato Golin llvmlistbot at llvm.org
Thu Jun 12 06:19:12 PDT 2025


================
@@ -4684,15 +4687,27 @@ struct TransferReadAfterWriteToBroadcast
     if (getUnusedDimsBitVector({readOp.getPermutationMap()}) !=
         getUnusedDimsBitVector({defWrite.getPermutationMap()}))
       return failure();
-    if (readOp.getIndices() != defWrite.getIndices() ||
-        readOp.getMask() != defWrite.getMask())
+    // This pattern should only catch the broadcast case, the non-broadcast case
+    // should be done separately to keep application conditions clean and
+    // separate.
----------------
rengolin wrote:

This makes sense to me. It's not easy (yet?) to define what a canonical form is in MLIR due to multiple users and different uses.

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


More information about the Mlir-commits mailing list