https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84956

            Bug ID: 84956
           Summary: ICE in replace_block_by, at tree-ssa-tail-merge.c:1546
           Product: gcc
           Version: 8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gs...@t-online.de
  Target Milestone: ---

Derived from gcc/testsuite/gcc.dg/torture/pr82264.c
ICEs at -O[s23] on x86_64/linux, gcc-4.8 compiles.


$ cat z1.c
char a;
int c;
unsigned b ();
unsigned
setjmp ()
{
}
static void
d ()
{
  if (b ())
    c = 3;
}
void
e ()
{
  d ();
  a && ({ setjmp (); });
  a && ({ setjmp (); });
  a && ({ setjmp (); });
}


$ gcc-4.8 -c z1.c -O2
$ gcc-8-20180318 -c z1.c -O1
$
$ gcc-8-20180318 -c z1.c -O2
during GIMPLE pass: pre
z1.c: In function 'e':
z1.c:15:1: internal compiler error: in replace_block_by, at
tree-ssa-tail-merge.c:1546
 e ()
 ^
0xc90c30 replace_block_by
        ../../gcc/tree-ssa-tail-merge.c:1546
0xc90c30 apply_clusters
        ../../gcc/tree-ss a-tail-merge.c:1637
0xc90c30 tail_merge_optimize(unsigned int)
        ../../gcc/tree-ssa-tail-merge.c:1755
0xc40997 execute
        ../../gcc/tree-ssa-pre.c:4209

Reply via email to