public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Jeff Law <law@redhat.com>
To: "Richard Earnshaw (lists)" <Richard.Earnshaw@arm.com>,
	       Tamar Christina <tamar.christina@arm.com>,
	       GCC Patches <gcc-patches@gcc.gnu.org>
Cc: James Greenhalgh <James.Greenhalgh@arm.com>,
	       Marcus Shawcroft <Marcus.Shawcroft@arm.com>,
	nd <nd@arm.com>
Subject: Re: [PATCH] Allow FP to be used as a call-saved registe
Date: Mon, 19 Sep 2016 16:56:00 -0000	[thread overview]
Message-ID: <093783f0-5bc8-a233-6a1e-c0e5284d5dad@redhat.com> (raw)
In-Reply-To: <eb3e6225-5b6e-b15e-bbf4-dd421f3d2053@arm.com>

On 09/19/2016 03:45 AM, Richard Earnshaw (lists) wrote:
>> So those don't seem to me to imply that the frame pointer needs to be a
>> fixed register.   So the first thing I'd do is fix the aarch64 port to
>> not do that and see what fallout there is and how to fix it.
>>
>> Most ports simply don't mark the frame pointer as fixed.
>>
>
> The AArch64 ABI specification strongly recommends that, when a frame
> record is not created, the frame pointer register is left unused so that
> the frame chain, while not complete, is still valid (a chain of valid
> records but ending in a NULL pointer).  That strongly suggests that FP
> should remain a fixed register.
So essentially you're asking that even with -fomit-frame-pointer that FP 
still not be used and that the user should specify an additional 
-fcall-saved- parameter?

I can see your point -- lots of things use -fomit-frame-pointer and you 
may not necessarily want to make FP available to the register allocator.

But by requiring -fcall-saved-whatever, aren't you forcing folks to 
encode aarch64 specific flags into their build systems?

Neither seems like a good position to be in.
>
> I guess we could push all of this into a new back-end option to permit
> the 'I really want to use FP for general purposes', but it seems to be
> just duplicating the existing use of -fcall-saved; so would be yet
> another flag in the compiler that needs documenting.
Yea, and more aarch64 specific bits in the build system.

>
> It seems much more sensible to me to just make a slight relaxation of
> the fixed-register code and then re-use the existing options.
Maybe.   I understand the situation much better now, but I don't see a 
particularly good solution.
jeff

      reply	other threads:[~2016-09-19 16:29 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-05 15:00 Tamar Christina
2016-09-12 10:41 ` James Greenhalgh
2016-09-12 17:22 ` Jeff Law
2016-09-13 11:15   ` Tamar Christina
2016-09-15 16:43     ` Jeff Law
2016-09-19 10:55       ` Richard Earnshaw (lists)
2016-09-19 16:56         ` Jeff Law [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=093783f0-5bc8-a233-6a1e-c0e5284d5dad@redhat.com \
    --to=law@redhat.com \
    --cc=James.Greenhalgh@arm.com \
    --cc=Marcus.Shawcroft@arm.com \
    --cc=Richard.Earnshaw@arm.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=nd@arm.com \
    --cc=tamar.christina@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).