This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Tree-SSA self checking infrastructure
- From: Andrew MacLeod <amacleod at redhat dot com>
- To: Jeff Law <law at redhat dot com>
- Cc: Jan Hubicka <hubicka at ucw dot cz>, Richard Henderson <rth at redhat dot com>, JanHubicka <jh at suse dot cz>, gcc mailing list <gcc at gcc dot gnu dot org>
- Date: 19 Nov 2003 16:49:04 -0500
- Subject: Re: Tree-SSA self checking infrastructure
- References: <200311192144.hAJLikWf012168@speedy.slc.redhat.com>
On Wed, 2003-11-19 at 16:44, law@redhat.com wrote:
> 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.
>
I think Diego is triggering it on the uses. If there is a use of a
that needs to be re-written, and its uninitialized, then we get the
phi's and the default def.
hum.
Andrew