[PATCH] D98263: [LoopInterchange] fix tightlyNested() in LoopInterchange legality
Whitney Tsang via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 23 08:04:56 PDT 2021
Whitney added a comment.
I am fine with this change now, but in the future we should try to
1. Use utilities in LoopNest as much as possible
2. Loosen the definition perfect loop nest in LoopNest
3. Make the transformation more generic to handle more cases, e.g. the newly added test `interchange_07`.
================
Comment at: llvm/test/Transforms/LoopInterchange/not-interchanged-tightly-nested.ll:12
@D = common global [100 x [100 x [100 x i32]]] zeroinitializer
+ at E = common global [100 x [100 x i64]] zeroinitializer
----------------
can we reuse the existing global arrays?
================
Comment at: llvm/test/Transforms/LoopInterchange/not-interchanged-tightly-nested.ll:108
+
+;; The following Loop is not considered tightly nested and is not interchanged.
+; CHECK: Not interchanging loops. Cannot prove legality.
----------------
Please add comment for why it is not considered tightly nested.
Is it because we expect the outer loop header to have a conditional branch?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D98263/new/
https://reviews.llvm.org/D98263
More information about the llvm-commits
mailing list