Hello,

> > > >>>The attached fixes *that*, but this just causes a crash deeper in 
> > > >>>trying 
> > > >>>to free some chains.
> > > >>>      
> > > >>[...]
> > > >>Sorry for the problems and thanks for looking into them.
> > > >>    
> > > >
> > > >Ken, please reread the email.  The issue is *not* fixed according to
> > > >Daniel, there's still another problem.  Could you look into it,
> > > >please?
> > > >
> > > I would like permission to revert zdenek's patch for a few days.  There 
> > > is nothing wrong with zdenek's patch, pe se, but it excercises a part of 
> > > df that should work but does not.
> > 
> > I don't quite like this idea; as you yourself say, the problem is not in
> > that patch (in fact, mainline bootstraps and passes regtesting with it
> > without your patch); so I think that if we indeed want to go into
> > reverting patches, it should be the one causing the problem (and I have
> > a followup patch that I would like to be able to test).
> > 
> > Btw.: of course it may happen that some patch sometimes breaks
> > bootstrap, it happened to everyone of us.  But, with your patch, not
> > even libgcc builds.  This means that you did not even try to build gcc
> > before commiting your patch.
> 
> This is simply not true.
> I in fact, watched him bootstrap and regtest it multiple times.
> It simply happened that 10 minutes before he committed his patch, you
> committed yours.
> Please don't go accusing people of not bootstrapping, etc.

I do not accuse him of not testing it; of course that he tested it
properly.  I just say that he should have at least build the branch in
the state in that he wanted to commit it.  It takes just a few minutes,
and if someone makes change during that time, rebuilding to verify that
these did not break something takes just a few seconds.

> > > We could revert my storage patch, but the problem is much deeper than 
> > > that.  The storage patch only causes this problem to happen when 
> > > bootstrapping.  The problem will still be there and may cause random 
> > > ices when running zdeneks code.
> > > 
> > > The problem is that when ever you delete any basic blocks, you need to 
> > > get rid of the def use and use def chains that either start or end in 
> > > the deleted block, furthermore,  this has to be done before the 
> > > instructions are deleted for those blocks.  This will take me a day to 
> > > get correct.
> > > Zdenek's patch is the only code that manipulates the blocks after 
> > > use-def or def-use chains are built.
> > 
> > This analysis seems wrong to me -- the crash occurs when called from
> > estimate_probability, and we do not change CFG in branch prediction.
> 
> The crash occurs from df_set_blocks called from iv_analysis.
> Not sure what you are referring to.
> 
> His analysis of what is going on is completely correct.

"that manipulates the blocks after use-def or def-use chains are built":
the place from that the function is called does not manipulate blocks in
any way, the only thing it does is setting probabilities of edges.

Zdenek

Reply via email to