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]

Re: Another bug in your lastest checkin.


> Jan Hubicka wrote:
> > 
> > > set_block_for_new_insns requires a basic_block and note an edge.
> > > I've no idea how this apparently works assuming that the else part
> > > of the code actually gets exercised.
> > >
> > >       /* If optimization is off, and perhaps in an empty function,
> > >          the entry block will have no successors.  */
> > >       if (ENTRY_BLOCK_PTR->succ)
> > >         {
> > >           /* Can't deal with multiple successsors of the entry block.  */
> > >           if (ENTRY_BLOCK_PTR->succ->succ_next)
> > >             abort ();
> > >
> > >           insert_insn_on_edge (seq, ENTRY_BLOCK_PTR->succ);
> > >           inserted = 1;
> > >         }
> > >       else
> > >         set_block_for_new_insns (emit_insn_after (seq, f),
> > >                                  ENTRY_BLOCK_PTR->succ);
> > >                                ^requires BB and not EDGE!
> > Hmm, the change came from sanity checking every emit_insn, but after
> > closer look, it looks like the code is dead now.  We always do have CFG
> > built (even when not optimizing) and so we always excercise the first
> > part of if.
> > 
> > Richard, looks sane to just remove the the if?
> >
> If it is always now supposed to execute the if part then I would
> suggest you change the code to keep a sanity check, thus:
> 
>        /* If optimization is off, and perhaps in an empty function,
>           the entry block will have no successors.  */
>        if (! ENTRY_BLOCK_PTR->succ)
>          abort ();
> 
>        /* Can't deal with multiple successsors of the entry block.  */
>        if (ENTRY_BLOCK_PTR->succ->succ_next)
>          abort ();
> 
>        insert_insn_on_edge (seq, ENTRY_BLOCK_PTR->succ);
>        inserted = 1;
I am just bootstrapping with equivalent change modulo the comment in
first abort.

Honza
> 
> > Honza
> > >
> > > Graham
> 
> Graham


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