https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91853
Bug ID: 91853
Summary: [10 Regression] ICE in gimplify_modify_expr, at
gimplify.c:5902 since r275982
Product: gcc
Version: 9.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: ipa
Assignee: unassigned at gcc dot gnu.org
Reporter: marxin at gcc dot gnu.org
CC: jamborm at gcc dot gnu.org, marxin at gcc dot gnu.org
Target Milestone: ---
Following is causing ICE:
$ gcc /home/marxin/Programming/gcc/gcc/testsuite/gcc.dg/pr60647-1.c --param
ipa-cp-value-list-size=0 -Os -fno-inline
during IPA pass: inline
In function ‘fn3.constprop.isra’:
cc1: internal compiler error: in gimplify_modify_expr, at gimplify.c:5902
0x655a38 gimplify_modify_expr
/home/marxin/Programming/gcc/gcc/gimplify.c:5902
0xb1d1f8 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
/home/marxin/Programming/gcc/gcc/gimplify.c:13136
0xb20cf6 gimplify_stmt(tree_node**, gimple**)
/home/marxin/Programming/gcc/gcc/gimplify.c:6780
0xb2337f gimplify_and_add(tree_node*, gimple**)
/home/marxin/Programming/gcc/gcc/gimplify.c:480
0xb2337f internal_get_tmp_var
/home/marxin/Programming/gcc/gcc/gimplify.c:636
0xb2363a get_initialized_tmp_var(tree_node*, gimple**, gimple**, bool)
/home/marxin/Programming/gcc/gcc/gimplify.c:667
0xb2363a prepare_gimple_addressable
/home/marxin/Programming/gcc/gcc/gimplify.c:4278
0xb25a0b gimplify_addr_expr
/home/marxin/Programming/gcc/gcc/gimplify.c:6144
0xb1df2a gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
/home/marxin/Programming/gcc/gcc/gimplify.c:13183
0xb3bf9d force_gimple_operand_1(tree_node*, gimple**, bool (*)(tree_node*),
tree_node*)
/home/marxin/Programming/gcc/gcc/gimplify-me.c:78
0xb3c04f force_gimple_operand_gsi_1(gimple_stmt_iterator*, tree_node*, bool
(*)(tree_node*), tree_node*, bool, gsi_iterator_update)
/home/marxin/Programming/gcc/gcc/gimplify-me.c:115
0xbd42a4 ipa_param_adjustments::modify_call(gcall*,
vec<ipa_param_performed_split, va_gc, vl_embed>*, tree_node*, bool)
/home/marxin/Programming/gcc/gcc/ipa-param-manipulation.c:724
0x983814 cgraph_edge::redirect_call_stmt_to_callee()
/home/marxin/Programming/gcc/gcc/cgraph.c:1380
0x16bf764 inline_transform(cgraph_node*)
/home/marxin/Programming/gcc/gcc/ipa-inline-transform.c:684
0xcdfd9a execute_one_ipa_transform_pass
/home/marxin/Programming/gcc/gcc/passes.c:2231
0xcdfd9a execute_all_ipa_transforms(bool)
/home/marxin/Programming/gcc/gcc/passes.c:2270
0x98c431 cgraph_node::expand()
/home/marxin/Programming/gcc/gcc/cgraphunit.c:2187
0x98d40b expand_all_functions
/home/marxin/Programming/gcc/gcc/cgraphunit.c:2332
0x98d40b symbol_table::compile()
/home/marxin/Programming/gcc/gcc/cgraphunit.c:2688
0x98fc4c symbol_table::compile()
/home/marxin/Programming/gcc/gcc/cgraphunit.c:2595
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
Similarly here:
$ gcc /home/marxin/Programming/gcc/gcc/testsuite/gcc.dg/pr60647-2.c -fipa-sra
-Og
/home/marxin/Programming/gcc/gcc/testsuite/gcc.dg/pr60647-2.c: In function
‘bar’:
/home/marxin/Programming/gcc/gcc/testsuite/gcc.dg/pr60647-2.c:21:4: warning:
function called through a non-compatible type
21 | ((void (*) (void *, int, int)) foo) ((void *) 0, winInfo, 0); /* {
dg-warning "function called through a non-compatible type" } */
| ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
during IPA pass: inline
In function ‘bar.isra’:
cc1: internal compiler error: in gimplify_modify_expr, at gimplify.c:5902
0x655a38 gimplify_modify_expr
/home/marxin/Programming/gcc/gcc/gimplify.c:5902
0xb1d1f8 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
/home/marxin/Programming/gcc/gcc/gimplify.c:13136
0xb20cf6 gimplify_stmt(tree_node**, gimple**)
/home/marxin/Programming/gcc/gcc/gimplify.c:6780
0xb2337f gimplify_and_add(tree_node*, gimple**)
/home/marxin/Programming/gcc/gcc/gimplify.c:480
0xb2337f internal_get_tmp_var
/home/marxin/Programming/gcc/gcc/gimplify.c:636
0xb2363a get_initialized_tmp_var(tree_node*, gimple**, gimple**, bool)
/home/marxin/Programming/gcc/gcc/gimplify.c:667
0xb2363a prepare_gimple_addressable
/home/marxin/Programming/gcc/gcc/gimplify.c:4278
0xb25a0b gimplify_addr_expr
/home/marxin/Programming/gcc/gcc/gimplify.c:6144
0xb1df2a gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
/home/marxin/Programming/gcc/gcc/gimplify.c:13183
0xb3bf9d force_gimple_operand_1(tree_node*, gimple**, bool (*)(tree_node*),
tree_node*)
/home/marxin/Programming/gcc/gcc/gimplify-me.c:78
0xb3c04f force_gimple_operand_gsi_1(gimple_stmt_iterator*, tree_node*, bool
(*)(tree_node*), tree_node*, bool, gsi_iterator_update)
/home/marxin/Programming/gcc/gcc/gimplify-me.c:115
0xbd42a4 ipa_param_adjustments::modify_call(gcall*,
vec<ipa_param_performed_split, va_gc, vl_embed>*, tree_node*, bool)
/home/marxin/Programming/gcc/gcc/ipa-param-manipulation.c:724
0x983814 cgraph_edge::redirect_call_stmt_to_callee()
/home/marxin/Programming/gcc/gcc/cgraph.c:1380
0x16bf764 inline_transform(cgraph_node*)
/home/marxin/Programming/gcc/gcc/ipa-inline-transform.c:684
0xcdfd9a execute_one_ipa_transform_pass
/home/marxin/Programming/gcc/gcc/passes.c:2231
0xcdfd9a execute_all_ipa_transforms(bool)
/home/marxin/Programming/gcc/gcc/passes.c:2270
0x98c431 cgraph_node::expand()
/home/marxin/Programming/gcc/gcc/cgraphunit.c:2187
0x98d40b expand_all_functions
/home/marxin/Programming/gcc/gcc/cgraphunit.c:2332
0x98d40b symbol_table::compile()
/home/marxin/Programming/gcc/gcc/cgraphunit.c:2688
0x98fc4c symbol_table::compile()
/home/marxin/Programming/gcc/gcc/cgraphunit.c:2595