[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 03:17:51 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:

I see. Using the walk method can avoid the strange way of scope exit from the stack, but I have two reasons why I don't use walk. One is that walk itself is a recursive call that already uses the stack, so it feels a bit strange to use an additional stack. One idea is to refactor the visitor to use the display stack management, which may be a big change. The other reason is to avoid stack overflow (although I haven't encountered this problem, others may have) https://github.com/llvm/llvm-project/issues/100059)This is also one reason why I want to refactor.

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


More information about the Mlir-commits mailing list