This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Extend redundant copy elimination pass to handle CMN compares and shifted immediates.
ClosedPublic

Authored by mcrosier on Mar 3 2017, 7:32 AM.

Details

Reviewers
gberry
MatzeB
Summary

Please take a look.

Chad

Diff Detail

Event Timeline

mcrosier created this revision.Mar 3 2017, 7:32 AM
mcrosier updated this revision to Diff 90738.Mar 6 2017, 12:32 PM

Fold D30554, which adds support for shifted immediates, into this commit.

mcrosier retitled this revision from [AArch64] Extend redundant copy elimination pass to handle CMN compares. to [AArch64] Extend redundant copy elimination pass to handle CMN compares and shifted imediates..Mar 6 2017, 12:33 PM
mcrosier retitled this revision from [AArch64] Extend redundant copy elimination pass to handle CMN compares and shifted imediates. to [AArch64] Extend redundant copy elimination pass to handle CMN compares and shifted immediates..
gberry accepted this revision.Mar 6 2017, 1:05 PM

LGTM if you add a negative test case with a 64-bit known constant, where the high 32-bits are not equal to 0.

This revision is now accepted and ready to land.Mar 6 2017, 1:05 PM

LGTM if you add a negative test case with a 64-bit known constant, where the high 32-bits are not equal to 0.

This is handled by test18 previously committed in r296809.

test/CodeGen/AArch64/machine-copy-remove.mir
513

I believe this is the test case you're suggesting.

mcrosier closed this revision.Mar 6 2017, 1:51 PM

Committed in rL297078.