[PATCH] D91887: [ARM] Make t2DoLoopStartTP a terminator

Sjoerd Meijer via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 23 01:00:44 PST 2020


SjoerdMeijer added a comment.

In D91887#2410497 <https://reviews.llvm.org/D91887#2410497>, @dmgreen wrote:

>> Can you quickly remind me about the different options/trade-offs here? Just as a refresher for me how everything fits together.
>
> It's just a little sub-optimal. It's better to let the scheduler place the instructions where they would be best, not artificially force them to the end of the block. The latency of setting LR into the next instruction that uses it can be felt at times, and on some CPU's you can get cases where the loop will be aligned with a NOP, meaning it's better to put a T1 instruction at the end of the block to allow more dual-issue.
>
> They are mostly, hopefully fairly minor though. And the benefits of forcing the dlstp instruction to the end of the block to prevent reverted tail predicated loops is at least better in the short term, even if we change it back later.

Ah yes, got it. Just one more high-level follow up question then. Is this something we want to perhaps control with an option?


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

https://reviews.llvm.org/D91887



More information about the llvm-commits mailing list