This is the mail archive of the
mailing list for the GCC project.
Re: [Bug rtl-optimization/33676] libgfortran bootstrap failure: selected_int_kind.f90:22: Segmentation fault, wrong code with -fomit-frame-pointer
- From: Eric Botcazou <ebotcazou at libertysurf dot fr>
- To: Kenneth Zadeck <zadeck at naturalbridge dot com>
- Cc: gcc-patches at gcc dot gnu dot org, gcc-bugzilla at gcc dot gnu dot org, Steven Bosscher <stevenb dot gcc at gmail dot com>
- Date: Fri, 12 Oct 2007 14:58:20 +0200
- Subject: Re: [Bug rtl-optimization/33676] libgfortran bootstrap failure: selected_int_kind.f90:22: Segmentation fault, wrong code with -fomit-frame-pointer
- References: <email@example.com/bugzilla/> <firstname.lastname@example.org> <470E4DB3.email@example.com>
> 2007-10-11 Kenneth Zadeck <firstname.lastname@example.org>
> PR middle-end/33676
> * global.c (build_insn_chain): Include insn that occur between
> basic blocks.
Who approved this patch?
> However, the reload_insn_chain actually needs the insns that appear
> between basic blocks, in particular the labels in front of branch
> tables. I added code here to check for insns that may be in front of a
> basic block after scanning that block.
> There are a lot of ways that I could have done this, for instance, I
> could have just written in terms of the PREV_INSN as the old code was.
> I think that in doing it the way that i have done it, it is obvious what
> needs to be done if someone really does get rid of the branch tables
> between the blocks.
Sure, but the code in build_insn_chain is now more convoluted than in the
original version (and twice as big). And, please, fix the formatting.