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

            Bug ID: 80233
           Summary: [7 Regression] ICE in combine_instructions w/ -O2 (and
                    above)
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: rtl-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---
            Target: powerpc-*-linux-gnu*

gcc-7.0.0-alpha20170326 snapshot ICEs on the following snippet w/ -O2 (-Os,
-O3, -Ofast):

int xg;

void
t4 (int o9)
{
  int it;

  if (o9 == 0)
    {
      int fx;

      xg *= it;
      if (xg == 0)
        it /= 0;

      fx = (it != 0) ? (xg < 0) : (xg / o9);
      if (fx != 0)
        xg = 0;
    }
}

% powerpc-e300c3-linux-gnu-gcc-7.0.0-alpha20170326 -O2 -w -c hzfu8xgw.c
hzfu8xgw.c: In function 't4':
hzfu8xgw.c:20:1: internal compiler error: Segmentation fault
 }
 ^

(gdb) where
#0  0x000002aaaba73033 in combine_instructions (nregs=<optimized out>,
f=<optimized out>)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/combine.c:1258
#1  rest_of_handle_combine ()
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/combine.c:14650
#2  (anonymous namespace)::pass_combine::execute (this=<optimized out>)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/combine.c:14695
#3  0x000002aaab2d8ec6 in execute_one_pass (pass=pass@entry=0x2aaac493020)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/passes.c:2465
#4  0x000002aaab2d98b8 in execute_pass_list_1 (pass=0x2aaac493020)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/passes.c:2554
#5  0x000002aaab2d98ca in execute_pass_list_1 (pass=0x2aaac492480)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/passes.c:2555
#6  0x000002aaab2d995c in execute_pass_list (fn=<optimized out>,
pass=<optimized out>)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/passes.c:2565
#7  0x000002aaaaf2a87a in cgraph_node::expand (this=0x3fff72ab000)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/cgraphunit.c:2038
#8  0x000002aaaaf2c4ca in expand_all_functions ()
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/cgraphunit.c:2174
#9  symbol_table::compile (this=0x3fff7127000)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/cgraphunit.c:2531
#10 0x000002aaaaf2eb03 in symbol_table::finalize_compilation_unit
(this=0x3fff7127000)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/cgraphunit.c:2621
#11 0x000002aaab3d9dfb in compile_file ()
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/toplev.c:492
#12 0x000002aaaad4b9c2 in do_compile ()
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/toplev.c:2000
#13 toplev::main (this=0x3ffffffc940, argc=23, argv=0x3ffffffca48)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/toplev.c:2134
#14 0x000002aaaad4e258 in main (argc=23, argv=0x3ffffffca48)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170326/work/gcc-7-20170326/gcc/main.c:39

Reply via email to