This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: ICE in fixup_reorder_chain, at bb-reorder.c:633
- To: John David Anglin <dave at hiauly1 dot hia dot nrc dot ca>
- Subject: Re: ICE in fixup_reorder_chain, at bb-reorder.c:633
- From: Richard Henderson <rth at cygnus dot com>
- Date: Thu, 7 Sep 2000 12:14:01 -0700
- Cc: gcc-bugs at gcc dot gnu dot org
- References: <200009071747.NAA10777@hiauly1.hia.nrc.ca>
On Thu, Sep 07, 2000 at 01:47:51PM -0400, John David Anglin wrote:
> #ifdef CASE_DROPS_THROUGH
> /* Except for VAX. Since we didn't have predication for the
> tablejump, the fallthru block should not have moved. */
> if (RBI (bb)->index + 1 == RBI (e_fall->dest)->index)
> continue;
> #endif
> abort ();
> }
>
> On the vax, CASE_DROPS_THROUGH is defined. The comment states that the
> fallthru block can move on the vax and cause an abort.
Nay, the comment says *must* have moved such that it's now still
contiguous.
One possible fix is to add an additional jump after the case to go
to the correct block. You should, however, investigate where the
block did wind up, and whether that choice made sense.
r~