This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][SVE] Fix the indexed addressing mode when FI = 0.
ClosedPublic

Authored by sdesmalen on Mar 14 2023, 8:28 AM.

Details

Summary

This is an alternative fix to D145497, which also addresses

https://github.com/llvm/llvm-project/issues/60918

In D124457 which added the original code for this, @efriedma pointed
out that it wasn't safe to assume that FI #0 would be allocated at offset
0, but that part of the patch went in without any changes.

The downside of this solution is that any access to an object on the
stack that has been allocated at SP + 0, still gets moved to a separate
register first, which degrades performance.

Diff Detail

Event Timeline

sdesmalen created this revision.Mar 14 2023, 8:28 AM
Herald added a project: Restricted Project. · View Herald TranscriptMar 14 2023, 8:28 AM
sdesmalen requested review of this revision.Mar 14 2023, 8:28 AM
Herald added a project: Restricted Project. · View Herald TranscriptMar 14 2023, 8:28 AM
paulwalker-arm accepted this revision.Mar 14 2023, 10:05 AM

We knew when landing the original patch that it'll likely bite us, but at that time there just wasn't a good enough reason to warrant the loss in code quality.

This revision is now accepted and ready to land.Mar 14 2023, 10:05 AM