This is the mail archive of the
mailing list for the GCC project.
Re: birthpoints in rtl.
- From: Diego Novillo <dnovillo at google dot com>
- To: Kenneth Zadeck <zadeck at naturalbridge dot com>
- Cc: gcc <gcc at gcc dot gnu dot org>, "Bonzini, Paolo" <bonzini at gnu dot org>, "Park, Seongbae" <seongbae dot park at gmail dot com>, Ian Lance Taylor <iant at google dot com>, Richard Sandiford <rsandifo at nildram dot co dot uk>, Steven Bosscher <stevenb dot gcc at gmail dot com>
- Date: Fri, 29 Feb 2008 17:51:23 -0500
- Subject: Re: birthpoints in rtl.
- References: <47C5EF2A.firstname.lastname@example.org> <47C6B132.email@example.com>
On 2/28/08 8:03 AM, Kenneth Zadeck wrote:
The big difference between what i am proposing with birthpoints and a
full blown ssa implementation is that i plan to do no rewriting since
there are no operands of the phis to support this.
You don't need to do a rewriting SSA implementation to have PHI nodes
with operands. FUD chains fully support PHI nodes with operands.
I believe that what i am proposing is actually currently called (or at
least related to) factored use def chains, but i need to read up on the
literature to see if they really are the same.
Yes, they are. FUD chains are what I initially used on GIMPLE, but they
do not allow overlapping live ranges for different SSA names of the same
symbol, so for GIMPLE registers I implemented the basic rewriting form
and for memory symbols I implemented FUD chains (the SSA web over
VDEF/VUSEs are FUD chains).
If we are not going to use a rewriting SSA form, I believe that the
original problems we had with RTL-SSA can be avoided.