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: [patches] Re: infinite loop in SPEC's gcc after your patches


On Tue, Jul 24, 2001 at 08:37:29PM +0200, Jan Hubicka wrote:
> > > (jump_insn 14561 4779 14562 (set (pc)
> > >         (label_ref 4787)) -1 (nil)
> > >     (nil))
> > > ../../gcc/gcc/reload.c:4217: confused by earlier errors, bailing out
> > > 
> > > "Flow control insn inside a basic block" - looks pretty damning to me.
> > 
> > I only wanted to note, that my m68k bootstrap just aborted with a
> > similar error.
>
> This looks like problem related to my effort to update CFG after
> insn splitting (find_sub_basic_blocks).  I will try to commonize
> more code with find_basic_blocks and figure out where the problem
> happends now.

There's one problem with this symptom (at a different place)
that is because of the toplev.c change here:

1.425        (kenner   19-Feb-01):       while (tem || tem2)
1.159        (law      10-Mar-99):      {
1.425        (kenner   19-Feb-01):        tem = tem2 = 0;
1.326        (samuel   28-Apr-00):        timevar_push (TV_JUMP);
1.495        (hubicka  22-Jul-01):        rebuild_jump_labels (insns);
1.495        (hubicka  22-Jul-01):        cleanup_cfg (CLEANUP_EXPENSIVE);
1.326        (samuel   28-Apr-00):        timevar_pop (TV_JUMP);

While you updated gcse to basically preserve the CFG, local cse
was not updated.  Both have been run at this point, and the CFG
is corrupt; cleanup_cfg then makes things worse, which leads to
the abort.


r~


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