This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][SVE] Don't support fixedStack for SVE objects.

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



Fixed stack objects are preallocated and defined to be allocated before
any of the regular stack objects. These are normally used to model stack

The AAPCS does not support passing SVE registers on the stack by value
(only by reference). The current layout also doesn't place them before
all stack objects, but rather before all SVE objects. Removing this
simplifies the code that emits the allocation/deallocation
around callee-saved registers (D84042).

This patch also removes all uses of fixedStack from from
framelayout-sve.mir, where this was used purely for testing purposes.

Diff Detail

Event Timeline

sdesmalen created this revision.Jul 24 2020, 9:31 AM
Herald added a project: Restricted Project. · View Herald Transcript
paulwalker-arm accepted this revision.Jul 27 2020, 4:11 AM
paulwalker-arm added inline comments.

Given the for loop is just for the assert should it be protected by debug or something?

This revision is now accepted and ready to land.Jul 27 2020, 4:11 AM