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

lonely eagle llvmlistbot at llvm.org
Wed Sep 17 09:33:45 PDT 2025


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

When loops is empty, avoid executing yieldTiledValuesFn.

>From 9fa81b8b2d758b9f50080108ae1f912dc8f329fd Mon Sep 17 00:00:00 2001
From: linuxlonelyeagle <2020382038 at qq.com>
Date: Wed, 17 Sep 2025 16:28:23 +0000
Subject: [PATCH] when loops is empty, avoid executing yieldTiledValuesFn.

---
 mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

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");
 



More information about the Mlir-commits mailing list