birthpoints in rtl.
Diego Novillo
dnovillo@google.com
Tue Mar 4 21:14:00 GMT 2008
On 3/4/08 4:06 PM, Jan Hubicka wrote:
> The names are equivalent to UD pointers: Either you can have version
> names or just coinsider the destination of UD pointer to be the
> destination. Or am I still missing a point?
Nope, that's exactly right. Versioned names are useful for some things
(mostly keeping attributes/values/etc in arrays indexed by name
version), but straight pointers are also doable.
> I believe that FUD on hard regs is doable and practical: I don't see how
> the rewriting SSA problems hit by RTL-SSA project map here and overall I
> believe the basic disapointment lesson from RTL-SSA project was not
> SUBREGs/STRICT_LOW_PARTs and other isues, but the fact that RTL is that
> hard to modify: everything you do go through target validation machinery
> or expansion and can behave irregularly that does not play well with
> standard optimization algorithms plus there are ugly things like libcall
> or other notes that was a lot more important in GCC of RTL-SSA project
> time.
Yes, we should not try to do a rewriting SSA for the time being. In
this we are all in agreement. Nobody is advocating a rewriting SSA form
on RTL at the moment. Maybe in the future, but for now building FUD
chains on the DF framework is Not Hard.
DF already has support for rebuilding the UD chains. So, rebuilding
FUDs will probably be straightforward and it may be a bit simpler. With
FUD chains you are trading the complexity of computing dominance
frontiers and (maybe) PHI pruning with the setting of more UD chains.
Diego.
More information about the Gcc
mailing list