This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: sparc-sun-solaris2.8 bootstrap: ICE in bb-reorder.c
- To: Gerald Pfeifer <pfeifer at dbai dot tuwien dot ac dot at>
- Subject: Re: sparc-sun-solaris2.8 bootstrap: ICE in bb-reorder.c
- From: Jan Hubicka <jh at suse dot cz>
- Date: Tue, 11 Sep 2001 17:37:58 +0200
- Cc: Jan Hubicka <jh at suse dot cz>, gcc at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- References: <Pine.BSF.4.33.0109111706370.86377-100000@taygeta.dbai.tuwien.ac.at>
> Jan, I'm afraid this is an outfall of your patch(es) yesterday:
>
> /sw/test/gcc/cvs/gcc/libgcc2.c: In function `__lshrdi3':
> /sw/test/gcc/cvs/gcc/libgcc2.c:266: Internal compiler error in emit_jump_to_block_after, at bb-reorder.c:546
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
> gmake[3]: *** [libgcc/./_lshrdi3.o] Error 1
> gmake[2]: *** [stmp-multilib] Error 2
Apparently, following check got lost.
The patch compiles fine on i386, but does nothing, solves the crash and I can't
access sparc machine till next week, as our laboratory is relocating.
Could you please test whether it works for you?
Honza
Tue Sep 11 17:36:13 CEST 2001 Jan Hubicka <jh@suse.cz>
* bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
is OK.
Index: bb-reorder.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/bb-reorder.c,v
retrieving revision 1.36
diff -c -3 -p -r1.36 bb-reorder.c
*** bb-reorder.c 2001/09/11 09:39:11 1.36
--- bb-reorder.c 2001/09/11 15:35:38
*************** fixup_reorder_chain ()
*** 695,700 ****
--- 695,704 ----
if (RBI (bb)->next == e_fall->dest)
continue;
+ /* An fallthru to exit block. */
+ if (!RBI (bb)->next && e_fall->dest == EXIT_BLOCK_PTR)
+ continue;
+
/* We need a new jump insn. If the block has only one outgoing
edge, then we can stuff the new jump insn in directly. */
if (bb->succ->succ_next == NULL)