This is the mail archive of the
mailing list for the GCC project.
Re: birthpoints in rtl.
On Tue, Mar 4, 2008 at 7:58 PM, Diego Novillo <email@example.com> wrote:
> Both PHIs and birthpoints are merely factoring devices that let you cut
> down the number of UD links. They don't need to be part of the IL, much
> like none of the DF objects are part of the RTL IL.
Maybe they don't need to be, but it may be useful to have them anyway.
> > What about keeping things up-to-date after applying some
> > transformations? It is already hard to keep UD/DU chains up-to-date
> > now (I don't think any pass successfully does so right now). This
> > should be a lot easier if you fully factorize your UD chains, right?
> In theory, yes. Code for keeping these things up-to-date already exists
> in GIMPLE SSA.
That code is IMHO just awfully ugly. And slow too, last I checked. I
don't know if this is still true, but update_ssa used to walk a huge
part of the dominator tree even for seemingly trivial updates. We
should not want that on RTL. I don't think we should allow
transformations on RTL that are too hard to manually update the FUD