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: Daniel Berlin <dberlin at dberlin dot org>
- To: Andy Walker <ja_walker at earthlink dot net>
- Cc: Tom Lord <lord at emf dot net>, dewar at gnat dot com, gcc at gcc dot gnu dot org
- Date: Mon, 6 Jan 2003 01:49:24 -0500
- Subject: Re: An unusual Performance approach using Synthetic registers
My goal is that the generated code with Synthetic registers will be
significantly better (looking just at the instruction count). If the
fields
have individual values, in your example, then Reload imposes an
overhead. It
is a two step process: move the spilled data back into a register,
then use
it. With a Synthetic, you get to just use it.
If the new allocator determines the data in question is cheaper to
recalculate than it would be to reload it from memory, it'll do so
(though it might be a bit limited in what it *can* recalculate right
now, this is fixable. I don't have numbers on how often it would have
wanted to remat but couldn't due to these problems). It's known as
"rematerialization".
Thus, in the example of vtable pointers, it'll simply recalculate the
value into the new register, rather than reload it from memory.
Andy