This is the mail archive of the
gcc-patches@gcc.gnu.org
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: <bug-33676-231@http.gcc.gnu.org/bugzilla/> <20071011124037.5827.qmail@sourceware.org> <470E4DB3.9050304@naturalbridge.com>
> 2007-10-11 Kenneth Zadeck <zadeck@naturalbridge.com>
>
> 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.
--
Eric Botcazou