[Bug tree-optimization/69170] New: [6 Regression] ICE (segfault) in find_uses_to_rename_use

doko at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Jan 6 17:41:00 GMT 2016


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

            Bug ID: 69170
           Summary: [6 Regression] ICE (segfault) in
                    find_uses_to_rename_use
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: doko at gcc dot gnu.org
  Target Milestone: ---

trunk r232077, powerpc64le-linux-gnu, works with -O2 or without -fPIC

reduced test case:

typedef long sha2_word_t;
typedef struct {
  sha2_word_t length_upper, length_lower;
  char buf[];
} hash_state;
int a;
hash_state b;
void fn1() {
  a = 0;
  for (; a < 8; a++)
    b.buf[a + 1024 / 8] = b.length_upper >> (1 - a) * 5;
  a = 0;
  for (; a < 8; a++)
    b.buf[a + 1024 / 8 + 8] = b.length_lower >> (1 - a) * 5;
}

$ gcc -std=c99 -c -g -O3 -fno-strict-aliasing -fPIC hash_SHA2_template.i
hash_SHA2_template.i: In function 'fn1':
hash_SHA2_template.i:8:6: internal compiler error: Segmentation fault
 void fn1() {
      ^~~

0x106c33b3 crash_signal
        ../../src/gcc/toplev.c:334
0x1080027c find_uses_to_rename_use
        ../../src/gcc/tree-ssa-loop-manip.c:368
0x1080095f find_uses_to_rename_use
        ../../src/gcc/ssa-iterators.h:566
0x1080095f find_uses_to_rename_stmt
        ../../src/gcc/tree-ssa-loop-manip.c:425
0x1080095f find_uses_to_rename_bb
        ../../src/gcc/tree-ssa-loop-manip.c:457
0x10802e3f find_uses_to_rename
        ../../src/gcc/tree-ssa-loop-manip.c:479
0x10802e3f rewrite_into_loop_closed_ssa_1(bitmap_head*, unsigned int, int,
loop*)
        ../../src/gcc/tree-ssa-loop-manip.c:642
0x10913b83 execute_vrp
        ../../src/gcc/tree-vrp.c:10303
0x10913b83 execute
        ../../src/gcc/tree-vrp.c:10405
Please submit a full bug report,
with preprocessed source if appropriate.

(gdb) bt
#0  0x000000001080027c in find_uses_to_rename_use (bb=0x3fffb59802d8,
use=0x3fffb59236d8, 
    use_blocks=0x11687400, need_phis=0x115fb580) at
../../src/gcc/tree-ssa-loop-manip.c:368
#1  0x0000000010800960 in find_uses_to_rename_use (need_phis=<optimized out>,
use_blocks=<optimized out>, 
    use=<optimized out>, bb=0x3fffb59802d8) at
../../src/gcc/ssa-iterators.h:566
#2  find_uses_to_rename_stmt (use_flags=<optimized out>, need_phis=<optimized
out>, 
    use_blocks=<optimized out>, stmt=0x3fffb5a73ca0) at
../../src/gcc/tree-ssa-loop-manip.c:425
#3  find_uses_to_rename_bb (bb=0x3fffb59802d8, use_blocks=0x11687400,
need_phis=0x115fb580, use_flags=1)
    at ../../src/gcc/tree-ssa-loop-manip.c:457
#4  0x0000000010802e40 in find_uses_to_rename (use_flags=1,
need_phis=0x115fb580, use_blocks=0x11687400, 
    changed_bbs=<optimized out>) at ../../src/gcc/tree-ssa-loop-manip.c:479
#5  rewrite_into_loop_closed_ssa_1 (changed_bbs=<optimized out>,
update_flag=<optimized out>, 
    use_flags=<optimized out>, loop=0x0) at
../../src/gcc/tree-ssa-loop-manip.c:642
#6  0x0000000010913b84 in execute_vrp (warn_array_bounds_p=false) at
../../src/gcc/tree-vrp.c:10303
#7  (anonymous namespace)::pass_vrp::execute (this=<optimized out>) at
../../src/gcc/tree-vrp.c:10405
#8  0x00000000105de3b4 in execute_one_pass (pass=0x114ef0d0) at
../../src/gcc/passes.c:2336
#9  0x00000000105dea38 in execute_pass_list_1 (pass=0x114ef0d0) at
../../src/gcc/passes.c:2410
#10 0x00000000105dea50 in execute_pass_list_1 (pass=0x114ed010) at
../../src/gcc/passes.c:2411
#11 0x00000000105deaf8 in execute_pass_list (fn=<optimized out>,
pass=<optimized out>)
    at ../../src/gcc/passes.c:2421
#12 0x00000000102e0800 in cgraph_node::expand (this=0x3fffb5930cf0) at
../../src/gcc/cgraphunit.c:1971
#13 0x00000000102e22c8 in expand_all_functions () at
../../src/gcc/cgraphunit.c:2107
#14 symbol_table::compile (this=0x3fffb58d0000) at
../../src/gcc/cgraphunit.c:2463
#15 0x00000000102e4724 in symbol_table::compile (this=0x3fffb58d0000) at
../../src/gcc/cgraphunit.c:2368
#16 symbol_table::finalize_compilation_unit (this=0x3fffb58d0000) at
../../src/gcc/cgraphunit.c:2553
#17 0x00000000106c3854 in compile_file () at ../../src/gcc/toplev.c:489
#18 0x0000000010170abc in do_compile () at ../../src/gcc/toplev.c:1985
#19 toplev::main (this=<optimized out>, argc=21, argv=0x3ffffffff3c8) at
../../src/gcc/toplev.c:2092
#20 0x0000000010172a98 in main (argc=<optimized out>, argv=0x3ffffffff3c8) at
../../src/gcc/main.c:39


More information about the Gcc-bugs mailing list