This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: new register allocator and HARD_REGNO_CALL_PART_CLOBBERED
- From: Michael Matz <matz at suse dot de>
- To: Alexandre Oliva <aoliva at redhat dot com>
- Cc: Daniel Berlin <dberlin at dberlin dot org>,Joern Rennecke <joern dot rennecke at superh dot com>,Herman ten Brugge <hermantenbrugge at home dot nl>,Dale Johannesen <dalej at apple dot com>, <gcc at gcc dot gnu dot org>
- Date: Fri, 16 May 2003 13:35:47 +0200 (CEST)
- Subject: Re: new register allocator and HARD_REGNO_CALL_PART_CLOBBERED
Hi,
On 15 May 2003, Alexandre Oliva wrote:
> Partial saves added a new twist that rth and I hadn't considered when
> we talked about this feature and came up with the design above a few
> days ago. Presumably we could have per-mode bitsets as well (or
> instead of) absolute saved/clobbered definitions added to the
> call insn clobbered data structure.
>
> None of this, however, changes the fact that the feature has to be
> supported by the register allocator, which is what I understand we
> were debating in this thread.
Not anymore. I at least understand the need for this feature.
> The exact way to represent the ABI requirements is secondary, and the
> design is definitely open for discussion.
Well there are two ways:
1) saying that certain hardregs can't hold these
and those modes over calls. This is what is done now.
2) specifying explicitely what hardreg parts are clobbered by calls.
I have the feeling that 2) would be better. 1) can be determined from it,
and it's much more explicit. What I'm not yet totally sure about is, if
it also would be faster in the implementation.
Ciao,
Michael.