[PATCH] D97947: [AArch64] Enable runtime unrolling for in-order scheduling models

Nicholas Guy via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 21 07:26:30 PDT 2021


NickGuy added inline comments.


================
Comment at: llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp:1110
+
+  // Scan the loop: don't unroll loops with calls as this could prevent
+  // inlining.
----------------
fhahn wrote:
> NickGuy wrote:
> > fhahn wrote:
> > > This comment seems out of date?
> > Doesn't seem like it is to me. If a function call is found, it bails without enabling runtime unrolling. This check is also performed by many other implementations of this hook.
> >  If a function call is found,
> That's correct, but you are also bailing out on other cases, like instructions with vector types, right?
Right, I misunderstood. I've updated it to mention that we bail out in vector loops.


================
Comment at: llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp:1128
+
+  // Force runtime unrolling for in-order models
+  // If mcpu is omitted, then an in-order model will be used, meaning this
----------------
dmgreen wrote:
> "Force" doesn't sound like the right wording to me. It is enabling runtime/partial unrolling, which the loop unroller may use or not.
Reworded both the commit message and this comment


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D97947



More information about the llvm-commits mailing list