This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PR62304 (was Re: (Still) ICE for cris-elf at r214710)
- From: Hans-Peter Nilsson <hans-peter dot nilsson at axis dot com>
- To: dmalcolm at redhat dot com
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Fri, 29 Aug 2014 18:15:43 +0200
- Subject: Re: PR62304 (was Re: (Still) ICE for cris-elf at r214710)
- Authentication-results: sourceware.org; auth=none
> From: David Malcolm <dmalcolm@redhat.com>
> Date: Fri, 29 Aug 2014 17:33:54 +0200
> On Fri, 2014-08-29 at 16:48 +0200, Hans-Peter Nilsson wrote:
> > Sorry, but that didn't help. I still get the exact same error.
> > (Yep, I double-checked that I didn't goof testing...)
Famous last words...
> Fully identical, or just the top 2 frames? The error in the above
> backtrace is the call to JUMP_LABEL_AS_INSN here:
>
> > > 0x9119c2 find_dead_or_set_registers
> > > > /tmp/hpautotest-gcc1/gcc/gcc/resource.c:500
>
> which I believe the patch removes.
>
> That said, PR62304 has *two* backtraces: the one you posted earlier,
> plus a similar-looking one due to a different overzealous cast by me at:
> 0xae862f follow_jumps
> /vol/gcc/src/hg/trunk/local/gcc/reorg.c:2326
>
> Maybe you're seeing that one? (or a third...)
(Oh my, how embarrassing: by "exact same" I must have meant "in
about the first 80 characters and the first frame".)
It seems it's a third one. Yay for reorg.c. Or rather, nay.
/tmp/pr62304/gcc/libgcc/libgcc2.c: In function '__absvsi2':
/tmp/pr62304/gcc/libgcc/libgcc2.c:232:1: internal compiler error: in safe_as_a, at is-a.h:205
}
^
0x90bb53 safe_as_a<rtx_insn*, rtx_def>
/tmp/pr62304/gcc/gcc/is-a.h:205
0x90bb53 NEXT_INSN
/tmp/pr62304/gcc/gcc/rtl.h:1338
0x90bb53 follow_jumps
/tmp/pr62304/gcc/gcc/reorg.c:2315
0x90f50c relax_delay_slots
/tmp/pr62304/gcc/gcc/reorg.c:3175
0x90f50c dbr_schedule
/tmp/pr62304/gcc/gcc/reorg.c:3743
0x91088f rest_of_handle_delay_slots
/tmp/pr62304/gcc/gcc/reorg.c:3885
0x91088f execute
/tmp/pr62304/gcc/gcc/reorg.c:3916
For:
int
__absvsi2 (int a)
{
int w = a;
if (a < 0)
w = -(unsigned int) a;
if (w < 0)
__builtin_abort ();
return w;
}
With "./cc1 -fpreprocessed -O2 this.i"
brgds, H-P