[Bug c/87693] New: ICE in thread_around_empty_blocks, at tree-ssa-threadedge.c:984

gscfq@t-online.de gcc-bugzilla@gcc.gnu.org
Mon Oct 22 17:57:00 GMT 2018


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

            Bug ID: 87693
           Summary: ICE in thread_around_empty_blocks, at
                    tree-ssa-threadedge.c:984
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gscfq@t-online.de
  Target Milestone: ---

Affects versions down to at least gcc 5, at -O[s123] :


$ cat z1.c
void f (void);
void g (void);
void h (int a)
{
  void *p, **q;
  if (a)
    p = (void *)f;
  else
    p = (void *)g;
  q = (void *)p;
  if (*q == (void *)0)
    goto *p;
L0:
  return;
}


$ gcc-9-20181021 -c z1.c
$
$ gcc-9-20181021 -c z1.c -O2
during GIMPLE pass: vrp
z1.c: In function 'h':
z1.c:3:6: internal compiler error: Segmentation fault
    3 | void h (int a)
      |      ^
0xa6de1f crash_signal
        ../../gcc/toplev.c:325
0xc0c3cc thread_around_empty_blocks
        ../../gcc/tree-ssa-threadedge.c:984
0xc0e010 thread_across_edge
        ../../gcc/tree-ssa-threadedge.c:1302
0xc0e945 thread_outgoing_edges(basic_block_def*, gcond*, const_and_copies*,
avail_exprs_stack*, evrp_range_analyzer*, tree_node* (*)(gimple*, gimple*,
avail_exprs_stack*, basic_block_def*))
        ../../gcc/tree-ssa-threadedge.c:1376
0xc81428 vrp_dom_walker::after_dom_children(basic_block_def*)
        ../../gcc/tree-vrp.c:6508
0x113d094 dom_walker::walk(basic_block_def*)
        ../../gcc/domwalk.c:395
0xc92e9b identify_jump_threads
        ../../gcc/tree-vrp.c:6563
0xc92e9b execute_vrp
        ../../gcc/tree-vrp.c:6699


More information about the Gcc-bugs mailing list