[PATCH] D94306: [LoopRotate] Use llvm.experimental.noalias.scope.decl for duplicating noalias metadata as needed

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 20 13:32:29 PST 2021


nikic accepted this revision.
nikic added a comment.
This revision is now accepted and ready to land.

LGTM



================
Comment at: llvm/lib/Transforms/Utils/LoopRotationUtils.cpp:471
+    if (!NoAliasDeclInstructions.empty()) {
+      // There are local restrict declarations:
+      // (general):
----------------
nit: "local restrict declarations" -> "noalias scope declarations"


================
Comment at: llvm/lib/Transforms/Utils/LoopRotationUtils.cpp:476
+      //
+      // with D: llvm.noalias.decl, U: provenance.noalias, depending on D
+      //       ... { D U1 U2 }   can transform into:
----------------
nit: "provenance.noalias" -> "!noalias" or something like that.


================
Comment at: llvm/lib/Transforms/Utils/LoopRotationUtils.cpp:512
+        cloneAndAdaptNoAliasScopes(NoAliasDeclScopes, {OrigHeader}, Context,
+                                   "h.rot1");
+        LLVM_DEBUG(OrigHeader->dump());
----------------
I think the `1` suffix in these names doesn't make much sense, as there's no `2` etc...


================
Comment at: llvm/test/Transforms/LoopRotate/noalias.ll:173
+!9 = !{!10, !10, i64 0, i64 4}
+!10 = !{!7, i64 4, !"int"}
+
----------------
You should be able to drop the TBAA metadata here. It's not used in the test and not relevant for it.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D94306/new/

https://reviews.llvm.org/D94306



More information about the llvm-commits mailing list