This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Fix Copy Elemination for negative values
ClosedPublic

Authored by tmatheson on Dec 11 2020, 3:05 AM.

Details

Summary

Redundant Copy Elimination was eliminating a MOVi32imm -1 when it
determined that the value of the destination register is already -1.
However, it didn't take into account that the MOVi32imm zeroes the upper
32 bits (which are FFFFFFFF) and therefore cannot be eliminated.

Diff Detail

Event Timeline

tmatheson created this revision.Dec 11 2020, 3:05 AM
tmatheson requested review of this revision.Dec 11 2020, 3:05 AM
Herald added a project: Restricted Project. · View Herald TranscriptDec 11 2020, 3:05 AM
tmatheson edited the summary of this revision. (Show Details)Dec 11 2020, 3:08 AM
tmatheson updated this revision to Diff 311156.Dec 11 2020, 3:16 AM

Remove whitespace

paulwalker-arm accepted this revision.Dec 17 2020, 5:53 AM
This revision is now accepted and ready to land.Dec 17 2020, 5:53 AM

I don't have commit access yet, so if somebody would be willing to commit this for me that would be greatly appreciated. The author should be "Tomas Matheson <Tomas.Matheson@arm.com>".

I'll wait to give other reviewers a chance to comment, but otherwise I'll commit it for you tomorrow.

This revision was landed with ongoing or failed builds.Dec 18 2020, 5:33 AM
This revision was automatically updated to reflect the committed changes.
yutsumi added a subscriber: yutsumi.Oct 5 2021, 9:23 PM