[Bug rtl-optimization/41064] New: [4.5 Regression]: build breakage for cris-elf building newlib, ICE in extract_insn, from r150726

hp at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Fri Aug 14 01:21:00 GMT 2009


This bug was hidden at the time of its introduction by PR41031.

With revision 150725 plus the patch at
<http://gcc.gnu.org/ml/gcc-patches/2009-08/msg00615.html> a build was
successful with reasonable test-results.
>From revision 150726 plus the same patch a build failed as follows.
The build failure was fully exposed (no local patches needed) from revision
150702 and on (when the equivalent patch was committed):

/tmp/hpautotest-gcc1/cris-elf/gccobj/./gcc/xgcc
-B/tmp/hpautotest-gcc1/cris-elf/gccobj/./gcc/ -nostdinc
-B/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/v32/newlib/ -isystem
/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/v32/newlib/targ-include -isystem
/tmp/hpautotest-gcc1/gcc/newlib/libc/include
-B/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/v32/libgloss/cris
-L/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/v32/libgloss/libnosys
-L/tmp/hpautotest-gcc1/gcc/libgloss/cris
-B/tmp/hpautotest-gcc1/cris-elf/pre/cris-elf/bin/
-B/tmp/hpautotest-gcc1/cris-elf/pre/cris-elf/lib/ -isystem
/tmp/hpautotest-gcc1/cris-elf/pre/cris-elf/include -isystem
/tmp/hpautotest-gcc1/cris-elf/pre/cris-elf/sys-include  -march=v32
-mbest-lib-options -DPACKAGE_NAME=\"newlib\" -DPACKAGE_TARNAME=\"newlib\"
-DPACKAGE_VERSION=\"1.17.0\" -DPACKAGE_STRING=\"newlib\ 1.17.0\"
-DPACKAGE_BUGREPORT=\"\"  -I. -I/tmp/hpautotest-gcc1/gcc/newlib/libc/search -O2
-DHAVE_RENAME -D_USE_WRITE -DCOMPACT_CTYPE -fno-builtin      -g -O2  -march=v32
-mbest-lib-options -c -o lib_a-hash_bigkey.o `test -f 'hash_bigkey.c' || echo
'/tmp/hpautotest-gcc1/gcc/newlib/libc/search/'`hash_bigkey.c
/tmp/hpautotest-gcc1/gcc/newlib/libc/search/hash_bigkey.c: In function
'__big_insert':
/tmp/hpautotest-gcc1/gcc/newlib/libc/search/hash_bigkey.c:175:1: error:
unrecognizable insn:
(insn 22 392 25 2 /tmp/hpautotest-gcc1/gcc/newlib/libc/search/hash_bigkey.c:105
(set (reg/v/f:SI 8 r8 [orig:41 val_data ] [41])
        (mem/s/f:SI (post_inc:SI (reg:SI 15 acr)) [15 val_30(D)->data+0 S4
A8])) -1 (expr_list:REG_INC (reg:SI 15 acr)
        (nil)))
/tmp/hpautotest-gcc1/gcc/newlib/libc/search/hash_bigkey.c:175:1: internal
compiler error: in extract_insn, at recog.c:2089
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
make[8]: *** [lib_a-hash_bigkey.o] Error 1
make[8]: Leaving directory
`/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/v32/newlib/libc/search'

Author of patch CC:ed.  The invalidity is the post_inc on R15, a register which
cannot be post-incremented.

A brief look with gdb reveals the immediate cause of the ICE is the
extract_insn call in the context of the change of revision 150726. Applying it
to a non-recognizable insn, a no-no. I don't quite understand why this didn't
also happen before revision 150726 as the same call was there then too, but
I'll have another look.

Preprocessed code to be attached.


-- 
           Summary: [4.5 Regression]: build breakage for cris-elf building
                    newlib, ICE in extract_insn, from r150726
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code, build
          Severity: normal
          Priority: P3
         Component: rtl-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: hp at gcc dot gnu dot org
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: cris-axis-elf


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41064



More information about the Gcc-bugs mailing list