This is an archive of the discontinued LLVM Phabricator instance.

[ARM] Complete the Thumb1 shift+and->shift+shift transforms.
ClosedPublic

Authored by efriedma on Dec 12 2018, 5:29 PM.

Details

Summary

This saves materializing the immediate. The additional forms are less common, but they're still relevant in some situations.

I had to add a new target hook to prevent DAGCombine from reversing the transform. That isn't the only possible way to solve the conflict, but it seems straightforward enough.

Diff Detail

Repository
rL LLVM

Event Timeline

efriedma created this revision.Dec 12 2018, 5:29 PM
efriedma updated this revision to Diff 177982.Dec 12 2018, 5:39 PM

Remove unnecessary call to target hook from DAGCombine. (It might be necessary in the future, possibly, but it isn't useful for now.)

t.p.northover accepted this revision.Dec 13 2018, 2:42 AM
t.p.northover added a subscriber: t.p.northover.

I think this looks fine.

This revision is now accepted and ready to land.Dec 13 2018, 2:42 AM
This revision was automatically updated to reflect the committed changes.