[Mlir-commits] [mlir] [mlir][affine] fix the issue of celidiv mul ceildiv expression not satisfying commutative (PR #109382)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Fri Oct 4 00:22:46 PDT 2024
================
@@ -349,6 +350,82 @@ unsigned AffineDimExpr::getPosition() const {
return static_cast<ImplType *>(expr)->position;
}
+/// A manually managed stack used to convert recursive function calls into
----------------
lipracer wrote:
Sorry,I didn't express clearly. The implementation of this `isDivisibleBySymbol` requires a pre-order traversal.
eg:
```
case add: visit(lhs) and vist(rhs)
case mul: visit(lhs) or vist(rhs)
```
base on the current expr type, using a control traversal approach, perhaps returning the interrupting and boolean types in the visitor can meet this requirement, but it also needs to be reimplemented.
https://github.com/llvm/llvm-project/pull/109382
More information about the Mlir-commits
mailing list