[Mlir-commits] [mlir] [mlir][affine] fix the issue of celidiv mul ceildiv expression not satisfying commutative (PR #109382)

Johannes Reifferscheid llvmlistbot at llvm.org
Fri Oct 4 03:20:49 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
----------------
jreiffers wrote:

I see no problem with using an explicit stack in addition to the implicit one in ::walk.

If you're concerned about stack overflows, the correct thing to do is to refactor ::walk to not be recursive, since that function is used in many places, so fixing this particular location isn't really sufficient if stack overflows are an issue with ::walk. 

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


More information about the Mlir-commits mailing list