[Mlir-commits] [mlir] [mlir] Propagate `checkCommutativeEquivalent` into `isRegionEquivalentTo` (PR #192670)
Mehdi Amini
llvmlistbot at llvm.org
Fri Apr 17 09:23:30 PDT 2026
https://github.com/joker-eph updated https://github.com/llvm/llvm-project/pull/192670
>From 259c03b7ee8a80a6e90ec8b34af43eabeef6e8ad Mon Sep 17 00:00:00 2001
From: jumerckx <julesmerckx12 at gmail.com>
Date: Sat, 14 Feb 2026 20:07:11 +0100
Subject: [PATCH 1/2] propagate checkCommutativeEquivalent
---
mlir/lib/IR/OperationSupport.cpp | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/mlir/lib/IR/OperationSupport.cpp b/mlir/lib/IR/OperationSupport.cpp
index 31f71c3949003..91c62a6604c16 100644
--- a/mlir/lib/IR/OperationSupport.cpp
+++ b/mlir/lib/IR/OperationSupport.cpp
@@ -893,9 +893,9 @@ OperationEquivalence::isRegionEquivalentTo(Region *lhs, Region *rhs,
// 4. Compare regions.
for (auto regionPair : llvm::zip(lhs->getRegions(), rhs->getRegions()))
- if (!isRegionEquivalentTo(&std::get<0>(regionPair),
- &std::get<1>(regionPair), checkEquivalent,
- markEquivalent, flags))
+ if (!isRegionEquivalentTo(
+ &std::get<0>(regionPair), &std::get<1>(regionPair), checkEquivalent,
+ markEquivalent, flags, checkCommutativeEquivalent))
return false;
return true;
>From 5bac16dcda23c649224ae626b048490d17de8878 Mon Sep 17 00:00:00 2001
From: jumerckx <julesmerckx12 at gmail.com>
Date: Sun, 15 Feb 2026 22:57:55 +0100
Subject: [PATCH 2/2] test with commutativity
---
mlir/test/IR/operation-equality.mlir | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/mlir/test/IR/operation-equality.mlir b/mlir/test/IR/operation-equality.mlir
index 7bdbfdd19a62d..405701aafb127 100644
--- a/mlir/test/IR/operation-equality.mlir
+++ b/mlir/test/IR/operation-equality.mlir
@@ -187,6 +187,21 @@
// -----
+// CHECK-LABEL: test.commutatively_equal_permutation
+// CHECK-SAME: compares equals
+
+builtin.module attributes {test.includes_setup} {
+ %0:2 = "test.producer"() : () -> (i32, i32)
+ "test.commutatively_equal_permutation"() ({
+ arith.addi %0#0, %0#1 : i32
+ }) : () -> ()
+ "test.commutatively_equal_permutation"() ({
+ arith.addi %0#1, %0#0 : i32
+ }) : () -> ()
+}
+
+// -----
+
// CHECK-LABEL: test.ignore_commutatively_equal_permutation
// CHECK-SAME: compares NOT equals
More information about the Mlir-commits
mailing list