This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][GlobalISel] Enable extending loads combines post-legalization.
ClosedPublic

Authored by aemerson on May 22 2020, 3:30 PM.

Details

Summary

During legalization we can end up with extends of loads, which in the case of zexts causes us to not hit tablegen imported patterns.

The caveat here is that we don't want anyext load forming, since some variants are illegal.

Diff Detail

Event Timeline

aemerson created this revision.May 22 2020, 3:30 PM
aemerson updated this revision to Diff 265814.May 22 2020, 3:38 PM

Forgot to run update script on test.

arsenm added a subscriber: arsenm.May 22 2020, 3:40 PM
arsenm added inline comments.
llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
102–106

This should just fix the combiner to understand checking for legal loads rather than special casing anyext?

aemerson updated this revision to Diff 265822.May 22 2020, 5:21 PM

Check for legality in the combiner helper.

This revision is now accepted and ready to land.May 28 2020, 5:52 PM
This revision was automatically updated to reflect the committed changes.