This is an archive of the discontinued LLVM Phabricator instance.

[ARM][LowOverheadLoops] Start insertion point
ClosedPublic

Authored by samparker on Sep 30 2020, 2:00 AM.

Details

Summary

If possible, try not to move the start position earlier than it already is.

Diff Detail

Event Timeline

samparker created this revision.Sep 30 2020, 2:00 AM
samparker requested review of this revision.Sep 30 2020, 2:00 AM
samparker updated this revision to Diff 295212.Sep 30 2020, 2:14 AM

Now using TryRemove for both LRDef cases.

samparker updated this revision to Diff 295220.Sep 30 2020, 2:43 AM

Checking result of TryRemove.

SjoerdMeijer added inline comments.Oct 1 2020, 1:07 AM
llvm/test/CodeGen/Thumb2/LowOverheadLoops/mov-operand.ll
32

Maybe you can help me understanding this a bit better with this example. The DLS has been push down a bit, but I am guessing in this case it doesn't really matter?
Which kind of leads me to my more general question(s): is this an optimisation, or a bug fix, and which test case is the best to look at it?

samparker added inline comments.Oct 1 2020, 1:15 AM
llvm/test/CodeGen/Thumb2/LowOverheadLoops/mov-operand.ll
32

It doesn't really matter for these examples, this patch is just a precursor for improving the tail predication version (since we really don't want any instructions after LSTP in the preheader).

SjoerdMeijer accepted this revision.Oct 1 2020, 1:24 AM
SjoerdMeijer added inline comments.
llvm/test/CodeGen/Thumb2/LowOverheadLoops/mov-operand.ll
32

Ok, cheers, in that case LGTM.

This revision is now accepted and ready to land.Oct 1 2020, 1:24 AM
This revision was automatically updated to reflect the committed changes.