[Mlir-commits] [mlir] [mlir][affine]fix create affine.for bug. (PR #117721)

lonely eagle llvmlistbot at llvm.org
Thu Nov 28 05:13:37 PST 2024


================
@@ -352,9 +353,13 @@ static bool isDimOpValidSymbol(ShapedDimOpInterface dimOp, Region *region) {
 
   // Conservatively handle remaining BlockArguments as non-valid symbols.
   // E.g. scf.for iterArgs.
-  if (llvm::isa<BlockArgument>(dimOp.getShapedValue()))
-    return false;
-
+  if (auto blockArgument =
+          llvm::dyn_cast<BlockArgument>(dimOp.getShapedValue())) {
+    if (!llvm::isa<FunctionOpInterface>(
+            blockArgument.getParentRegion()->getParentOp())) {
----------------
linuxlonelyeagle wrote:

There is a new development on this issue, I found the real problem because `gpu.func` doesn't have `AffineScope Traits`.I'm going to have to look further on this issue. @ftynse Thank you for the guidance you've given me. I think I'm still making progress.

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


More information about the Mlir-commits mailing list