This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][GlobalISel] Combine funnel shifts to rotates.
ClosedPublic

Authored by aemerson on Mar 25 2021, 3:53 PM.

Diff Detail

Event Timeline

aemerson created this revision.Mar 25 2021, 3:53 PM
aemerson requested review of this revision.Mar 25 2021, 3:53 PM
aemerson updated this revision to Diff 333451.Mar 25 2021, 4:02 PM

Attach right patch.

foad added inline comments.Mar 26 2021, 4:54 AM
llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
3883

Check this simple condition before the islegal test?

3894–3895

I think all you have to do here is MI.RemoveOperand(2). That'll move the previous operand 3 into position 2, won't it?

aemerson added inline comments.Mar 26 2021, 9:50 AM
llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
3894–3895

Yes, this is a vestigial piece from the AArch64 version of this combine.

aemerson updated this revision to Diff 333576.Mar 26 2021, 9:55 AM

Gentle ping.

foad accepted this revision.Mar 30 2021, 10:27 AM

Looks fine to me, thanks.

llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
3893

(2) would be infinitesimally more efficient! :-)

This revision is now accepted and ready to land.Mar 30 2021, 10:27 AM
This revision was landed with ongoing or failed builds.Mar 30 2021, 11:11 AM
This revision was automatically updated to reflect the committed changes.