On Mon, Jan 26, 2015 at 10:11:00AM +0100, Jakub Jelinek wrote:
> On Mon, Jan 26, 2015 at 10:06:05AM +0100, Eric Botcazou wrote:
> > > While the cleanup_barriers runs after cleaning up BLOCK_FOR_INSNs,
> > > some targets like i?86/x86_64 choose to populate it again during machine
> > > reorg and some target don't free it at the end of machine reorg.
> > > This patch updates cleanup_barrier pass, so that it adjusts basic block
> > > boundaries and BLOCK_FOR_INSNs in that case, so that we don't crash during
> > > final pass.
> > 
> > This isn't a recent regression so what about fixing it more "properly"?  
> > For 
> > example, by calling free_bb_for_insn at the end of the machinre reorg 
> > passes 
> > which called compute_bb_for_insn at the beginning?  Or do the affected 
> > ports 
> > need the BB info all the way down to final?
> 
> Yes, they do, that is why it crashed during final.

In particular, all the i386/x86_64 atom tuning AGU stuff depends on it
heavily, but e.g. ix86_ok_to_clobber_flags and various others too.

        Jakub

Reply via email to