This is the mail archive of the 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: [tree-ssa] crash in coalesce_abnormal_edges, merge from mainline?

On Wed, 10 Sep 2003, Daniel Berlin wrote:

> On Wed, 10 Sep 2003 wrote:
> > In message <1063211660.30914.18.camel@p4>, Andrew MacLeod writes:
> >  >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,
> > "virtually every instance" is not good enough.  We need to know for any
> > arbitrary copy if one of its arguments is referenced in an abnormal 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.
> > No, you really need to set the bit -- you can't assume that you're only
> > going to query this information at PHI nodes.
> >
> > What I want to know is why the code which sets this bit is not working
> > in this case -- when we initialize a PHI argument (add_phi_arg) we query
> > the edge flags and set SSA_NAME_OCCURS_IN_ABNORMAL_PHI appropriately.
> Right.
> This is what i'm trying to figure out.  we don't have any abnormal edges
> that we add phi arguments to (IE when we call add_phi_arg, the edge we
> pass to it is not flagged as abnormal at any point in this testcase)

Whoops, this isn't true, spoke too soon.

We do, and add_phi_arg does flag the name as occuring in an abnormal phi.

That leaves the case of ephi minimization replacing across abnormal edges
before they turned into phis.

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