]> git.ipfire.org Git - thirdparty/gcc.git/commit
aarch64: Rename abi_break parameters [PR109661]
authorRichard Sandiford <richard.sandiford@arm.com>
Wed, 3 May 2023 16:43:48 +0000 (17:43 +0100)
committerRichard Sandiford <richard.sandiford@arm.com>
Wed, 3 May 2023 16:43:48 +0000 (17:43 +0100)
commit3a4a39b391e63e5be04cb06ee4cd5400bef63dfc
tree6bf29d1eb68ee05aa7380278b421dcd49bba562f
parent6cff5f3da7f263bb11cf48e6011931422b62b364
aarch64: Rename abi_break parameters [PR109661]

aarch64_function_arg_alignment has two related abi_break
parameters: abi_break for a change in GCC 9, and abi_break_packed
for a related follow-on change in GCC 13.  In a sense, abi_break_packed
is a "subfix" of abi_break.

PR109661 now requires a third ABI break that is independent
of the other two.  Having abi_break for the GCC 9 break and
abi_break_<something> for the GCC 13 and GCC 14 breaks might
give the impression that they're all related, and that the GCC 14
fix (like the GCC 13 fix) is a "subfix" of the GCC 9 one.
It therefore seemed like a good idea to rename the existing
variables first.

It would be difficult to choose names that describe briefly and
precisely what went wrong in each case.  The next best thing
seemed to be to name them after the relevant GCC version.
(Of course, this might break down in future if we need two
independent fixes in the same version.  Let's hope not.)

I wondered about putting all the variables in a structure,
but one advantage of using independent variables is that it's
harder to forget to update a caller.  Maybe a fourth parameter
would be a tipping point.

gcc/
PR target/109661
* config/aarch64/aarch64.cc (aarch64_function_arg_alignment): Rename
ABI break variables to abi_break_gcc_9 and abi_break_gcc_13.
(aarch64_layout_arg, aarch64_function_arg_boundary): Likewise.
(aarch64_gimplify_va_arg_expr): Likewise.
gcc/config/aarch64/aarch64.cc