[Bug optimization/13375] New: ICE in gcse.c

trauscher at loytec dot com gcc-bugzilla@gcc.gnu.org
Wed Dec 10 13:40:00 GMT 2003


The following code produces an ICE in gcse.c.
The bug only appears when compiling for thumb code
and at least -O2. It also disappears if
unused members (b,d) from struct A are deleted.

If -Os is given, the error occurs at
  handle_avail_expr, at gcse.c:3429
If -O2 or -O3 is given, the error occurs at
  pre_insert_copy_insn, at gcse.c:5321


COMMAND LINE:

arm-rtems-elf-gcc-3.3.2 -v -save-temps -mthumb -Os -c -o aaa.o aaa.c 

GCC OUTPUT:

Reading specs from /usr/local/lib/gcc-lib/arm-rtems-elf/3.3.2/specs
Configured with: ../gcc-3.3.2/configure --prefix=/usr/local
--target=arm-rtems-elf --with-newlib --enable-languages=c,c++
Thread model: single
gcc version 3.3.2
 /usr/local/lib/gcc-lib/arm-rtems-elf/3.3.2/cc1 -E -quiet -v -D__GNUC__=3
-D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=2 -D__ARM_ARCH_4T__ -D__ELF__
-D__USES_INITFINI__ aaa.c -mthumb -Os aaa.i
ignoring nonexistent directory "/usr/local/arm-rtems-elf/sys-include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/lib/gcc-lib/arm-rtems-elf/3.3.2/include
 /usr/local/arm-rtems-elf/include
End of search list.
 /usr/local/lib/gcc-lib/arm-rtems-elf/3.3.2/cc1 -fpreprocessed aaa.i -quiet
-dumpbase aaa.c -mthumb -auxbase-strip aaa.o -Os -version -o aaa.s
GNU C version 3.3.2 (arm-rtems-elf)
        compiled by GNU C version 2.95.4 20011002 (Debian prerelease).
GGC heuristics: --param ggc-min-expand=64 --param ggc-min-heapsize=64338
aaa.c: In function `f':
aaa.c:17: internal compiler error: in handle_avail_expr, at gcse.c:3429
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.

CODE:

struct A 
{
  struct A *q;
  int       a,b,c,d;
};

void f (struct A *p)
{
  struct A *q = p->q;  

  *p->q = *p;
  if (q->a)
  {
    g(&q->c);
  }
}

-- 
           Summary: ICE in gcse.c
           Product: gcc
           Version: 3.3.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: trauscher at loytec dot com
                CC: gcc-bugs at gcc dot gnu dot org
  GCC host triplet: i386-linux
GCC target triplet: arm-rtems-elf


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



More information about the Gcc-bugs mailing list