This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: More PRE problems
On Fri, 14 Nov 2003, Daniel Berlin wrote:
> >
> > What's critical here is the PHI node in block 10 for pretmp.137_91 and the use
> > of T.104_74 in that PHI node:
> >
> > # BLOCK 10
> > # PRED: 16 13 9 (fallthru,exec)
> > # i_5 = PHI <0(16), i_72(9), 0(13)>;
> > # pretmp.137_91 = PHI <T.104_74(9), pretmp.137_92(13), T.104_19(16)>;
> >
> > T.104_74 is defined in block 11 and there is no path from block 11 to
> > the use in block 10.
>
> Yeah, i'm not quite sure whose ass we pulled this argument out of.
Okay, i see what happens.
The first argument of the ephi ends up being the ephi itself.
IE it really should be
pretmp.137_91 = PHI <pretmp.137_91(9), pretmp.137_92(13), T.104_19(16)>
But the statement it tries to take the temp from hasn't had the reload
yet, so it doesn't pick the name.
Now, I'm not actually sure the above is valid either.
If not, it's a renaming problem.
If it is valid, i can easily fix this problem.