This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: SPEC95 failure on 3.0 branch
- To: Diego Novillo <dnovillo at redhat dot com>
- Subject: Re: SPEC95 failure on 3.0 branch
- From: Franz Sirl <Franz dot Sirl-kernel at lauterbach dot com>
- Date: Wed, 10 Oct 2001 16:00:35 +0200
- Cc: gcc at gcc dot gnu dot org
Checkout the patch I posted 2h ago.
Franz.
At 15:52 10.10.2001, Diego Novillo wrote:
>This failure started showing up on Oct09. We fail to compile
>124.m88ksim. The compiler ICEs in unroll.c:
>
>---------------------------------------------------------------------------
>dpath.c: In function `execute':
>dpath.c:863: Internal compiler error in loop_iterations, at unroll.c:3510
>Please submit a full bug report,
>with preprocessed source if appropriate.
>See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
>specmake: *** [dpath.o] Error 1
>---------------------------------------------------------------------------
>
>Looking at the ChangeLog diffs it looks as if Franz's patch
>could've caused this:
>
>+ 2001-10-08 Neil Booth <neil@daikokuya.demon.co.uk>
>+
>+ * doc/cpp.texi: Update.
>+
>+ 2001-10-08 Neil Booth <neil@daikokuya.demon.co.uk>
>+
>+ * cppmacro.c (_cpp_create_definition): Leave comments off.
>+ * cpplex.c (_cpp_lex_token): Don't save comments if skipping.
>+
>+ * doc/cpp.texi: Update.
>+
>+ 2001-10-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
>+
>+ * unroll.c (loop_iterations): Extend check for multiple back edges.
>+
>+ 2001-10-08 Jeffrey A Law <law@cygnus.com>
>+
>+ * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
>+ purge_mem_unchanging_flag on all instructions, not just on those
>+ before NOTE_INSN_FUNCTION_BEG.
>+
>
>This is a debugging session of this failure. I'm not too sure
>what I'm looking for. Hopefully this will give some context:
>
>---------------------------------------------------------------------------
>$ gdb
>/home/dnovillo/perf/sandbox-gcc-3_0-branch/i686/inst/lib/gcc-lib/i686-pc-linux-gnu/3.0.2/cc1
>[ ... ]
>
>(gdb) b unroll.c:3510
>Breakpoint 1 at 0x81505b0: file
>/home/dnovillo/perf/sandbox-gcc-3_0-branch/src/gcc/unroll.c, line 3510.
>
>(gdb) run -fpreprocessed dpath.i -quiet -dumpbase dpath.c -O2 -version -o
>dpath.s
>Starting program:
>/home/dnovillo/perf/sandbox-gcc-3_0-branch/i686/inst/lib/gcc-lib/i686-pc-linux-gnu/3.0.2/cc1
>-fpreprocessed dpath.i -quiet -dumpbase dpath.c -O2 -version -o dpath.s
>During symbol reading, register number 1769234796 too large (max 32) in
>symbol buf.
>GNU CPP version 3.0.2 20011010 (prerelease) (cpplib) (i386 Linux/ELF)
>GNU C version 3.0.2 20011010 (prerelease) (i686-pc-linux-gnu)
> compiled by GNU C version 3.0.2 20011010 (prerelease).
>/home/dnovillo/SPEC95/benchspec/CINT95/124.m88ksim/src/dpath.c: In
>function `execute':
>/home/dnovillo/SPEC95/benchspec/CINT95/124.m88ksim/src/dpath.c:863:
>Internal compiler error in loop_iterations, at unroll.c:3510
>Please submit a full bug report,
>with preprocessed source if appropriate.
>See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
>
>Breakpoint 1, loop_iterations (loop=0x83a6418)
> at /home/dnovillo/perf/sandbox-gcc-3_0-branch/src/gcc/unroll.c:3511
>3511 && INSN_LUID (JUMP_LABEL (temp)) < INSN_LUID
>(loop->cont))
>
>(gdb) l 3511
>3506
>3507 do
>3508 {
>3509 if (GET_CODE (temp) == JUMP_INSN
>3510 && INSN_LUID (JUMP_LABEL (temp)) > INSN_LUID (loop->top)
>3511 && INSN_LUID (JUMP_LABEL (temp)) < INSN_LUID
>(loop->cont))
>3512 {
>3513 if (loop_dump_stream)
>3514 fprintf (loop_dump_stream,
>3515 "Loop iterations: Loop has multiple back
>edges.\n");
>
>(gdb) bt
>#0 loop_iterations (loop=0x83a6418)
> at /home/dnovillo/perf/sandbox-gcc-3_0-branch/src/gcc/unroll.c:3511
>#1 0x08144314 in strength_reduce (loop=0x83a6418, flags=0)
> at /home/dnovillo/perf/sandbox-gcc-3_0-branch/src/gcc/loop.c:4276
>#2 0x0813f4ad in scan_loop (loop=0x83a6418, flags=0)
> at /home/dnovillo/perf/sandbox-gcc-3_0-branch/src/gcc/loop.c:1029
>#3 0x0813f0a7 in loop_optimize (f=0x4030c380, dumpfile=0x0, flags=0)
> at /home/dnovillo/perf/sandbox-gcc-3_0-branch/src/gcc/loop.c:460
>#4 0x0808016c in rest_of_compilation (decl=0x4025eea0)
> at /home/dnovillo/perf/sandbox-gcc-3_0-branch/src/gcc/toplev.c:3177
>#5 0x08058b09 in c_expand_body (fndecl=0x4025eea0, nested_p=0)
> at /home/dnovillo/perf/sandbox-gcc-3_0-branch/src/gcc/c-decl.c:6781
>#6 0x0805897d in finish_function (nested=0)
> at /home/dnovillo/perf/sandbox-gcc-3_0-branch/src/gcc/c-decl.c:6697
>#7 0x0804a06d in yyparse_1 () at /usr/lib/bison.simple:324
>#8 0x0807f048 in compile_file (name=0xbffff4c2 "dpath.i")
> at /home/dnovillo/perf/sandbox-gcc-3_0-branch/src/gcc/toplev.c:2369
>#9 0x08082daa in main (argc=10, argv=0xbffff2b4)
> at /home/dnovillo/perf/sandbox-gcc-3_0-branch/src/gcc/toplev.c:4990
>#10 0x40047177 in __libc_start_main (main=0x8082890 <main>, argc=10,
> ubp_av=0xbffff2b4, init=0x80490d4 <_init>, fini=0x823b9e0 <_fini>,
> rtld_fini=0x4000e184 <_dl_fini>, stack_end=0xbffff2ac)
> at ../sysdeps/generic/libc-start.c:129
>
>(gdb) pr loop->top
>(code_label 3489 3487 3488 311 "" "" [1 uses])
>
>(gdb) pr loop->cont
>(note 2037 2019 3485 NOTE_INSN_LOOP_CONT 0)
>
>(gdb) pr temp
>(jump_insn 2030 2029 2056 (set (pc)
> (if_then_else (ne (reg:CCZ 17 flags)
> (const_int 0 [0x0]))
> (label_ref 3489)
> (pc))) -1 (nil)
> (nil))
>---------------------------------------------------------------------------
>
>Diego.