This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Why is REG_ALLOC_ORDER not defined on Aarch64
- From: Richard Sandiford <richard dot sandiford at linaro dot org>
- To: Andrew Pinski <pinskia at gmail dot com>
- Cc: sellcey at cavium dot com, gcc <gcc at gcc dot gnu dot org>
- Date: Sat, 26 May 2018 10:39:01 +0100
- Subject: Re: Why is REG_ALLOC_ORDER not defined on Aarch64
- References: <1527287751.22014.45.camel@cavium.com> <CA+=Sn1kAkWqym2yQBhCS_9dgLtdygOjBnQJ1eZbhdKzoAVXRVw@mail.gmail.com>
Andrew Pinski <pinskia@gmail.com> writes:
> On Fri, May 25, 2018 at 3:35 PM, Steve Ellcey <sellcey@cavium.com> wrote:
>> I was curious if there was any reason that REG_ALLOC_ORDER is not
>> defined for Aarch64. Has anyone tried this to see if it could help
>> performance? It is defined for many other platforms.
>
> https://gcc.gnu.org/ml/gcc-patches/2015-07/msg01815.html
> https://gcc.gnu.org/ml/gcc-patches/2015-07/msg01822.html
It looks like the immediate reason for reverting was the effect of
listing the argument registers in reverse order. I wonder how much that
actually helps with IRA and LRA? They track per-register costs, and
would be able to increase the cost of a pseudo that conflicts with a
hard-register call argument.
It just felt like it might have been a "best practice" idea passed down
from the old local.c and global.c days.
Thanks,
Richard