This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch] Fix PR43464: update loop closed SSA form once copy prop is done
Hi,
On Mon, 22 Mar 2010, Richard Guenther wrote:
> > It's not that I do not care about compile time, I just think that more
> > automatic ways to maintain representations are a good thing, instead
> > of tweaking every transform to maintain such and such property.
> >
> > > Instead, Seb (it's his bug, isn't it?) should figure out a way to
> > > avoid cprop from breaking loop-closed SSA form.
> >
> > I will try.
>
> Simply drop the gimple_num_phi_args == 1 check from the code that
> tries to preserve loop-closed SSA form.
There are several places in the compiler that expect that loop-closed PHI
nodes are exactly those that have only a single argument (in addition of
being outside the loop and having the pred inside a loop). Either _all_
of them need to be audited and changed to not expect this, or the
transformations need to maintain this invariant. In this case it's
unswitching that creates the multiple-predecessor exit-block
Ciao,
Michael.