This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][SVE] Fix epilogue for SVE when the stack is realigned.
ClosedPublic

Authored by sdesmalen on Jul 24 2020, 9:32 AM.

Details

Summary

While deallocating the stackframe, the offset used to reload the
callee-saved registers was not pointing to the SVE callee-saves,
but rather to the whole SVE area.

+--------------+
| GRP callee   |   
|     saves    |   
+--------------+ <- FP
| SVE callee   |   
|     saves    |   
+--------------+ <- Should restore SVE callee saves from here
|  SVE Spills  |
|  and Locals  |
+--------------+ <- instead of from here.
|              |   
:              :   
|              |   
+--------------+ <- SP

Diff Detail

Event Timeline

sdesmalen created this revision.Jul 24 2020, 9:32 AM
Herald added a project: Restricted Project. · View Herald Transcript
paulwalker-arm accepted this revision.Jul 28 2020, 4:08 AM
This revision is now accepted and ready to land.Jul 28 2020, 4:08 AM