[Mlir-commits] [mlir] [MLIR][Arith] add and(a, or(a, b)) folder (PR #138998)
Mehdi Amini
llvmlistbot at llvm.org
Tue Jun 3 15:08:27 PDT 2025
================
@@ -896,6 +896,18 @@ OpFoldResult arith::AndIOp::fold(FoldAdaptor adaptor) {
if (Value result = foldAndIofAndI(*this))
return result;
+ /// and(a, or(a, b)) -> a
+ for (int i = 0; i < 2; i++) {
----------------
joker-eph wrote:
I would really rather avoid raw loops entirely.
Can this just be written as:
```
for (Value operand : getOperands()) {
if (auto orOp = operand..getDefiningOp<arith::OrIOp>()) {
```
https://github.com/llvm/llvm-project/pull/138998
More information about the Mlir-commits
mailing list