[AArch64] Make more use of function_abi
authorRichard Sandiford <richard.sandiford@arm.com>
Mon, 30 Sep 2019 16:47:39 +0000 (16:47 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Mon, 30 Sep 2019 16:47:39 +0000 (16:47 +0000)
commitdcdd0f055731a8c960a15e5de8715d041d9a7876
tree5dcc47b1d3b1582a7550d764ca7e32f6334b5bbe
parentce9d2a37f2db20328286f5d3d5a13a4e765c59f7
[AArch64] Make more use of function_abi

This patch makes more use of the function_abi infrastructure.
We can then avoid checking specifically for the vector PCS in
a few places, and can test it more directly otherwise.

Specifically: we no longer need to call df_set_regs_ever_live
for the extra call-saved registers, since IRA now does that for us.
We also don't need to handle the vector PCS specially in
aarch64_epilogue_uses, because DF now marks the registers
as live on exit.

2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
* config/aarch64/aarch64.c (aarch64_layout_frame): Use crtl->abi
to test whether we're compiling a vector PCS function and to test
whether the function needs to save a particular register.
Remove the vector PCS handling of df_set_regs_ever_live.
(aarch64_components_for_bb): Use crtl->abi to test whether
the function needs to save a particular register.
(aarch64_process_components): Use crtl->abi to test whether
we're compiling a vector PCS function.
(aarch64_expand_prologue, aarch64_expand_epilogue): Likewise.
(aarch64_epilogue_uses): Remove handling of vector PCS functions.

From-SVN: r276341
gcc/ChangeLog
gcc/config/aarch64/aarch64.c