This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: An unusual Performance approach using Synthetic registers
- From: Michael S. Zick <mszick at goquest dot com>
- To: Tom Lord <lord at emf dot net>,dewar at gnat dot com
- Cc: dewar at gnat dot com,ja_walker at earthlink dot net,gcc at gcc dot gnu dot org
- Date: Mon, 6 Jan 2003 15:43:28 -0600
- Subject: Re: An unusual Performance approach using Synthetic registers
- References: <20030105113840.BF53CF28C4@nile.gnat.com> <200301051224.EAA22286@emf.net>
On Sunday 05 January 2003 06:24 am, Tom Lord wrote:
>>
> Presumably, the number of locations dedicated to register spills never
> exceeds (approximately) the maximum number of simultaneously live
> _intermediate_ values minus the number of general purpose registers.
> Any non-intermediate value (i.e., one that has a main memory
> location), rather than being spilled, will be written to its location.
> If that value is later re-used, it will be retrieved from memory.
>
Oops -
Sorry Tom;
Consider that GCC doesn't pack the data area in accordance with
referential patterns - so that either or both of those data area
accesses may be to a cache line that got replaced - forcing
a memory bus cycle.
Because of the way a procedure call entry is made and its use
of the stack frame - those lines will be in the L-1 cache by the
time Andy wants to use them. - Specially if he has the function
call code issue a "prefetch" command for the range of stack
memory that he knows the function will use for its prologue.
Mike