[Bug rtl-optimization/80358] New: [7 Regression] ICE (cc1 killed) building glib with -O3 on powerpc64le-linux-gnu

doko at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Apr 7 17:11:00 GMT 2017


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


More information about the Gcc-bugs mailing list