Tree-SSA self checking infrastructure
Jan Hubicka
hubicka@ucw.cz
Wed Nov 19 22:15:00 GMT 2003
> In message <20031119213603.GW16923@atrey.karlin.mff.cuni.cz>, Jan Hubicka write
> s:
> >I am doing the first, how can I implement the second? That may be
> >actually one problems I am seeing...
> >(given the fact that only the tail recursion ellimination run as very
> >last pass before de-ssa breaks I think it is actually not the case, but
> >definitly needs to be done right)
> I'm not absolutely sure myself. Again, my recollection is a bit fuzzy, but
> I think people have argued that you do want those PHI nodes for the meet
> between the uninitialized path and the initialized path. But before you
> spend a lot of time on it, you might want to do a little research.
>
> It's also worth noting that we don't seem to be creating PHIs for this
> right now. Consider:
>
> foo(x)
> {
>
> int a;
> label:
>
> a = 20;
>
> goto label;
>
> }
>
> We don't get a PHI at "label" -- so even if it is recommended that we
> have PHIs at the join point between initialized and uninitialized, it
> doesn't appear that we currently do it.
THe uninitialized variables does not appear to be big deal. The more
problem can be global scope variables that we maintain in SSA form. I
guess these really need PHI node in case function modify them, right?
I think I do have the new SSA names as these will be call clobbered
variables so the call I am converting is implicit set of these. How do
I figure out the proper names?
Honza
>
> jeff
More information about the Gcc
mailing list