This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] crash in coalesce_abnormal_edges, merge from mainline?
On Wed, 10 Sep 2003, Andrew MacLeod wrote:
> On Wed, 2003-09-10 at 12:30, Andrew MacLeod wrote:
> > On Wed, 2003-09-10 at 11:32, Daniel Berlin wrote:
>
> > Looking at each place where may_propagate_copy() is called, in virtually
> > every instance that matters, we are processing the arguments of a PHI,
> > which means have access to the edge that arguement comes across right
> > there on the spot... so we could just check the flag on the edge and not
> > do the copy propagate based on that.. Then we dont have this auxillary
> > bit hanging around.
> >
> > I think it can be done, and it ought to work... Thoguhts? Wasn't there
> > originally something else we were using this for?
> >
> > I'm going to give it a try right now.
> >
> Ah, of course the drawback is that you wont be able to propagate it in
> all places, so you wont actually get rid of all copies, so you might end
> up worse off in some cases... Im not sure.
>
> Of course, that means it'll only affect variables that you couldn't
> copy propagate at all before this, so you'll be able to do some of the
> copy props... Is it generally a good or bad idea to do as many as
> possible knowing you can't do them all?
This is actually bad for PRE, i was going to mention it. This blocks some
amount of expression movement because the names no longer match in the
expressions.