This is an archive of the discontinued LLVM Phabricator instance.

[ARC] Use backwards scavenging in frame index elimination
ClosedPublic

Authored by foad on May 15 2023, 11:27 AM.

Details

Summary

This is preferred because it does not rely on accurate kill flags.

Diff Detail

Event Timeline

foad created this revision.May 15 2023, 11:27 AM
Herald added a project: Restricted Project. · View Herald TranscriptMay 15 2023, 11:27 AM
foad requested review of this revision.May 15 2023, 11:27 AM
Herald added a project: Restricted Project. · View Herald TranscriptMay 15 2023, 11:27 AM
arsenm added a subscriber: arsenm.May 15 2023, 11:47 AM

Since there are no required changes, why not just let this take the flip of the default? I think the option should be dropped ASAP and this just increases that diff

foad added a comment.May 15 2023, 12:09 PM

Since there are no required changes, why not just let this take the flip of the default? I think the option should be dropped ASAP and this just increases that diff

Because I think there is a faster route to removing RegScavenger::forward that does not require converting all targets to supportsBackwardScavenger. Only the targets that actually scavenge during the replaceFrameIndices loop need to be converted, and there are not too many of those.

foad planned changes to this revision.May 16 2023, 3:11 AM

Might need to use scavengeRegisterBackwards for correctness.

foad updated this revision to Diff 522647.May 16 2023, 8:57 AM

Switch to scavengeRegisterBackwards.

arsenm accepted this revision.May 16 2023, 9:16 AM
This revision is now accepted and ready to land.May 16 2023, 9:16 AM
This revision was landed with ongoing or failed builds.May 18 2023, 2:05 AM
This revision was automatically updated to reflect the committed changes.