[Mlir-commits] [mlir] [mlir][scf] Modify the return logic of generateLoopNestUsingForOp (NFC) (PR #159394)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Wed Sep 17 09:34:18 PDT 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-mlir-scf

Author: lonely eagle (linuxlonelyeagle)

<details>
<summary>Changes</summary>

When loops is empty, avoid executing yieldTiledValuesFn.

---
Full diff: https://github.com/llvm/llvm-project/pull/159394.diff


1 Files Affected:

- (modified) mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp (+2-3) 


``````````diff
diff --git a/mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp b/mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
index 834c02126fa53..f24310ecd7beb 100644
--- a/mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
+++ b/mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
@@ -455,6 +455,8 @@ static LogicalResult generateLoopNestUsingForOp(
     rewriter.setInsertionPointToEnd(loop.getBody());
     destinationTensors = loop.getRegionIterArgs();
   }
+  if (loops.empty())
+    return success();
 
   SmallVector<Value> tiledResults;
   SmallVector<SmallVector<OpFoldResult>> resultOffsets, resultSizes;
@@ -463,9 +465,6 @@ static LogicalResult generateLoopNestUsingForOp(
     return rewriter.notifyMatchFailure(
         loc, "failed to generate inner tile loop body");
   }
-  if (loops.empty())
-    return success();
-
   assert(tiledResults.size() == destinationTensors.size() &&
          "Number of results of body should be equal to number of iter args");
 

``````````

</details>


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


More information about the Mlir-commits mailing list