This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]