[Mlir-commits] [mlir] da93537 - NFC. Improve isInnermostAffineForOp - drop unnecessary check
Uday Bondhugula
llvmlistbot at llvm.org
Mon Mar 7 21:16:04 PST 2022
Author: Uday Bondhugula
Date: 2022-03-08T10:44:54+05:30
New Revision: da93537bf843538061646bc57f3dd54c44f73236
URL: https://github.com/llvm/llvm-project/commit/da93537bf843538061646bc57f3dd54c44f73236
DIFF: https://github.com/llvm/llvm-project/commit/da93537bf843538061646bc57f3dd54c44f73236.diff
LOG: NFC. Improve isInnermostAffineForOp - drop unnecessary check
Rewrite isInnermostAffineForOp utility to make it more direct/efficient.
Drop unnecessary check. NFC.
Differential Revision: https://reviews.llvm.org/D121170
Added:
Modified:
mlir/lib/Dialect/Affine/Transforms/LoopUnroll.cpp
Removed:
################################################################################
diff --git a/mlir/lib/Dialect/Affine/Transforms/LoopUnroll.cpp b/mlir/lib/Dialect/Affine/Transforms/LoopUnroll.cpp
index 702319f8ffd38..00dc64a0d54c4 100644
--- a/mlir/lib/Dialect/Affine/Transforms/LoopUnroll.cpp
+++ b/mlir/lib/Dialect/Affine/Transforms/LoopUnroll.cpp
@@ -61,16 +61,13 @@ struct LoopUnroll : public AffineLoopUnrollBase<LoopUnroll> {
};
} // namespace
-/// Returns true if no other affine.for ops are nested within.
-static bool isInnermostAffineForOp(AffineForOp forOp) {
- // Only for the innermost affine.for op's.
- bool isInnermost = true;
- forOp.walk([&](AffineForOp thisForOp) {
- // Since this is a post order walk, we are able to conclude here.
- isInnermost = (thisForOp == forOp);
- return WalkResult::interrupt();
- });
- return isInnermost;
+/// Returns true if no other affine.for ops are nested within `op`.
+static bool isInnermostAffineForOp(AffineForOp op) {
+ return !op.getBody()
+ ->walk([&](AffineForOp nestedForOp) {
+ return WalkResult::interrupt();
+ })
+ .wasInterrupted();
}
/// Gathers loops that have no affine.for's nested within.
More information about the Mlir-commits
mailing list