https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80358
Bug ID: 80358 Summary: [7 Regression] ICE (cc1 killed) building glib with -O3 on powerpc64le-linux-gnu Product: gcc Version: 7.0.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: doko at gcc dot gnu.org Target Milestone: --- Created attachment 41152 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41152&action=edit preprocessed source seen with trunk 20170407 on powerpc64le-linux-gnu while building glib with -O3. With -O2 the build succeeds almost immediately, with -O3 it eats up all available memory. $ gcc -c -g -O3 gkeyfilesettingsbackend.i #0 0x0000000010259e1c in ggc_internal_alloc (size=24, f=0x0, s=0, n=1) at ../../src/gcc/ggc-page.c:1327 #1 0x00000000106cbe94 in ggc_internal_alloc ( s=<error reading variable: value has been optimized out>) at ../../src/gcc/ggc.h:134 #2 ggc_alloc_rtx_def_stat (s=<error reading variable: value has been optimized out>) at ../../src/gcc/ggc.h:280 #3 rtx_alloc_stat_v (code=<optimized out>, extra=<optimized out>) at ../../src/gcc/rtl.c:203 #4 0x00000000103aeadc in gen_raw_REG (mode=<optimized out>, regno=<optimized out>) at ../../src/gcc/emit-rtl.c:436 #5 0x00000000103afa98 in gen_reg_rtx (mode=<optimized out>) at ../../src/gcc/emit-rtl.c:1063 #6 0x000000001061964c in maybe_legitimize_operand (op=0x3fffffffd7d0, opno=0, icode=<optimized out>) at ../../src/gcc/optabs.c:6944 #7 maybe_legitimize_operands (icode=<optimized out>, opno=0, nops=3, ops=0x3fffffffd7d0) at ../../src/gcc/optabs.c:7017 #8 0x0000000010619ad8 in maybe_gen_insn (icode=CODE_FOR_adddi3, nops=3, ops=0x3fffffffd7d0) at ../../src/gcc/optabs.c:7035 #9 0x000000001061d430 in expand_binop_directly (mode=DImode, binoptab=add_optab, op0=0x3fffb637db60, op1=0x3ffe5dee9360, target=0x0, unsignedp=1, methods=OPTAB_LIB_WIDEN, last=0x3ffe5e963c40) at ../../src/gcc/optabs.c:1071 #10 0x000000001061d8dc in expand_binop (mode=<optimized out>, binoptab=<optimized out>, op0=0x3fffb637db60, op1=0x3ffe5dee9360, target=0x0, unsignedp=<optimized out>, methods=<optimized out>) at ../../src/gcc/optabs.c:1150 #11 0x00000000103efe3c in force_operand (value=0x3ffe5e971ed8, target=0x0) at ../../src/gcc/expr.c:7316 #12 0x0000000010a9a260 in rs6000_legitimize_address (x=<optimized out>, oldx=<optimized out>, mode=<optimized out>) at ../../src/gcc/config/rs6000/rs6000.c:9008 #13 0x0000000010745edc in default_addr_space_legitimize_address (x=<optimized out>, oldx=<optimized out>, mode=<optimized out>, as=<optimized out>) at ../../src/gcc/targhooks.c:1349 #14 0x00000000103cb1e4 in memory_address_addr_space (mode=<optimized out>, x=0x3ffe5e971ec0, as=<optimized out>) at ../../src/gcc/explow.c:432 #15 0x00000000103acdb4 in change_address_1 (memref=0x3fffb63c32d0, mode=DImode, addr=<optimized out>, validate=1, inplace=false) at ../../src/gcc/emit-rtl.c:2152 #16 0x00000000103b1a54 in adjust_address_1 (memref=0x3fffb63c32d0, mode=DImode, offset=33388112, validate=<optimized out>, adjust_address=<optimized out>, adjust_object=<optimized out>, size=8) at ../../src/gcc/emit-rtl.c:2288 #17 0x0000000010a82d80 in expand_block_compare (operands=<optimized out>) at ../../src/gcc/config/rs6000/rs6000.c:19743 #18 0x0000000010c8efd0 in gen_cmpmemsi (operand0=0x3fffb63c3300, operand1=0x3fffb63c32d0, operand2=0x3fffb63c32e8, operand3=0x3fffb5900470, operand4=0x3fffb5900500) at ../../src/gcc/config/rs6000/rs6000.md:9242 #19 0x0000000010619cfc in insn_gen_fn::operator() (a4=0x3fffb5900500, a3=0x3fffb5900470, a2=0x3fffb63c32e8, a1=0x3fffb63c32d0, a0=0x3fffb63c3300, this=<optimized out>) at ../../src/gcc/recog.h:304 #20 maybe_gen_insn (icode=<optimized out>, nops=<optimized out>, ops=0x3fffffffdea0) at ../../src/gcc/optabs.c:7051 #21 0x0000000010626aa8 in maybe_expand_insn (icode=<optimized out>, nops=<optimized out>, ops=<optimized out>) at ../../src/gcc/optabs.c:7078 #22 0x00000000103e1830 in expand_cmpstrn_or_cmpmem (icode=<optimized out>, target=<optimized out>, arg1_rtx=0x3fffb63c32d0, arg2_rtx=0x3fffb63c32e8, arg3_type=0x3fffb58b0150, arg3_rtx=0x3fffb5900470, align=8) at ../../src/gcc/expr.c:1905 #23 0x00000000103ec644 in emit_block_cmp_via_cmpmem (align=8, target=0x0, len_type=0x3fffb58b0150, len=0x3fffb5900470, y=0x3fffb63c32e8, x=0x3fffb63c32d0) at ../../src/gcc/expr.c:1927 #24 emit_block_cmp_hints (x=0x3fffb63c32d0, y=0x3fffb63c32e8, len=0x3fffb5900470, len_type=0x3fffb58b0150, target=0x0, equality_only=<optimized out>, y_cfn=0x0, y_cfndata=0x0) at ../../src/gcc/expr.c:1972 #25 0x0000000010285014 in expand_builtin_memcmp (result_eq=<optimized out>, target=0x0, exp=0x3fffb6306a50) at ../../src/gcc/builtins.c:4231 #26 expand_builtin (exp=0x3fffb6306a50, target=<optimized out>, subtarget=<optimized out>, mode=<optimized out>, ignore=<optimized out>) at ../../src/gcc/builtins.c:6754 #27 0x00000000103e7d34 in expand_expr_real_1 (exp=<optimized out>, target=<optimized out>, tmode=<optimized out>, modifier=<optimized out>, alt_rtl=<optimized out>, inner_reference_p=<optimized out>) at ../../src/gcc/expr.c:10822 #28 0x00000000103e97e4 in expand_expr_real (exp=0x3fffb6306a50, target=0x0, tmode=DImode, modifier=<optimized out>, alt_rtl=0x0, inner_reference_p=false) at ../../src/gcc/expr.c:8071 #29 0x00000000103fa0c4 in expand_expr (modifier=<optimized out>, mode=DImode, target=0x0, exp=0x3fffb6306a50) at ../../src/gcc/expr.h:276 #30 expand_expr_real_2 (ops=0x3fffffffe4d0, target=0x3fffb637d968, tmode=VOIDmode, modifier=EXPAND_NORMAL) at ../../src/gcc/expr.c:8314 #31 0x00000000103e70d4 in expand_expr_real_1 (exp=0x3fffb62bf0e0, target=<optimized out>, tmode=<optimized out>, modifier=<optimized out>, alt_rtl=<optimized out>, inner_reference_p=<optimized out>) at ../../src/gcc/expr.c:11103 #32 0x00000000103e97e4 in expand_expr_real (exp=0x3fffb62bf0e0, target=<optimized out>, tmode=VOIDmode, modifier=EXPAND_NORMAL, alt_rtl=0x0, inner_reference_p=false) at ../../src/gcc/expr.c:8071 #33 0x00000000103f3870 in expand_expr (modifier=EXPAND_NORMAL, mode=VOIDmode, target=<optimized out>, exp=0x3fffb62bf0e0) at ../../src/gcc/expr.h:276 #34 store_expr_with_bounds (exp=0x3fffb62bf0e0, target=0x3fffb63c32b8, call_param_p=0, modifier=EXPAND_NORMAL) at ../../src/gcc/expr.c:8314 #31 0x00000000103e70d4 in expand_expr_real_1 (exp=0x3fffb62bf0e0, target=<optimized out>, tmode=<optimized out>, modifier=<optimized out>, alt_rtl=<optimized out>, inner_reference_p=<optimized out>) at ../../src/gcc/expr.c:11103 #32 0x00000000103e97e4 in expand_expr_real (exp=0x3fffb62bf0e0, target=<optimized out>, tmode=VOIDmode, modifier=EXPAND_NORMAL, alt_rtl=0x0, inner_reference_p=false) at ../../src/gcc/expr.c:8071 #33 0x00000000103f3870 in expand_expr (modifier=EXPAND_NORMAL, mode=VOIDmode, target=<optimized out>, exp=0x3fffb62bf0e0) at ../../src/gcc/expr.h:276 #34 store_expr_with_bounds (exp=0x3fffb62bf0e0, target=0x3fffb63c32b8, call_param_p=0, ---Type <return> to continue, or q <return> to quit--- nontemporal=false, reverse=false, btarget=0x3fffb6303888) at ../../src/gcc/expr.c:5459 #35 0x00000000103f46a0 in expand_assignment (to=0x3fffb6303888, from=0x3fffb6306a50, nontemporal=<optimized out>) at ../../src/gcc/expr.c:5321 #36 0x00000000102a4fac in expand_call_stmt (stmt=0x3fffb617b810) at ../../src/gcc/cfgexpand.c:2656 #37 expand_gimple_stmt_1 (stmt=0x3fffb617b810) at ../../src/gcc/cfgexpand.c:3571 #38 expand_gimple_stmt (stmt=0x3fffb617b810) at ../../src/gcc/cfgexpand.c:3737 #39 0x00000000102a6788 in expand_gimple_basic_block (bb=<optimized out>, disable_tail_calls=false) at ../../src/gcc/cfgexpand.c:5744 #40 0x00000000102ad0c8 in (anonymous namespace)::pass_expand::execute (this=<optimized out>, fun=0x3fffb5b25ee0) at ../../src/gcc/cfgexpand.c:6357 #41 0x0000000010649764 in execute_one_pass (pass=0x116d1030) at ../../src/gcc/passes.c:2465 #42 0x000000001064a734 in execute_pass_list_1 (pass=0x116d1030) at ../../src/gcc/passes.c:2554 #43 0x000000001064a7d8 in execute_pass_list (fn=<optimized out>, pass=<optimized out>) at ../../src/gcc/passes.c:2565 #44 0x00000000102e83a0 in cgraph_node::expand (this=0x3fffb618e600) at ../../src/gcc/cgraphunit.c:2042 #45 0x00000000102e9ec8 in expand_all_functions () at ../../src/gcc/cgraphunit.c:2178 #46 symbol_table::compile (this=0x3fffb58c0000) at ../../src/gcc/cgraphunit.c:2535 #47 0x00000000102ec3ac in symbol_table::compile (this=0x3fffb58c0000) at ../../src/gcc/cgraphunit.c:2595 #48 symbol_table::finalize_compilation_unit (this=0x3fffb58c0000) at ../../src/gcc/cgraphunit.c:2625 #49 0x000000001074b4f0 in compile_file () at ../../src/gcc/toplev.c:492 #50 0x0000000010146d88 in do_compile () at ../../src/gcc/toplev.c:2000 #51 toplev::main (this=0x3fffffffefe0, argc=<optimized out>, argv=<optimized out>) at ../../src/gcc/toplev.c:2134 #52 0x0000000010148e38 in main (argc=<optimized out>, argv=0x3ffffffff408) at ../../src/gcc/main.c:39