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

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 23 00:22:38 PST 2020

dmgreen added a comment.

> 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.



More information about the llvm-commits mailing list