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: dewar at gnat dot com (Robert Dewar)
- To: denisc at overta dot ru, dewar at gnat dot com, ja_walker at earthlink dot net
- Cc: gcc at gcc dot gnu dot org
- Date: Sun, 5 Jan 2003 06:38:40 -0500 (EST)
- Subject: Re: An unusual Performance approach using Synthetic registers
> Before I started this, I had never heard of an optimization technique that
> tries to take advantage of L1 cache. That may very well indicate that the
> register allocator really is "just dumb". (No flame wars, please.
> Outstanding and brilliant developers did the best they could with the
> algorithms they had. I sincerely doubt that I could have done as well).
This is a bit of an odd statement. In practice on a machine like the x86,
the current stack frame will typically be resident in L1 cache, and that's
where the register allocator spills to. What some of us still don't see
is the difference in final resulting code between your "synthetic registers"
and normal spill locations from the register allocator.
Perhaps you could give at least a small example of actual code. We all know
that (even on the 486), register register moves take the same time as
register-local stack frame moves when the local stack frame is in cache,
and the code that GCC generates now heavily depends on this.