https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109643
Bug ID: 109643 Summary: [14 Regression] IPA inline ICE on pkg-config-0.29.2 Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: ipa Assignee: unassigned at gcc dot gnu.org Reporter: slyfox at gcc dot gnu.org CC: marxin at gcc dot gnu.org Target Milestone: --- Noticed ICE on pkg-config-0.29.2 when was building with gcc from master. Minimal example: //$ cat bug.c.c int g_variant_type_info_basic_table[1]; int g_variant_type_info_check__g_boolean_var_, g_variant_type_info_get_index; int *g_variant_type_info_get_info; int g_assertion_message_expr(); void g_variant_type_info_check(int *info) { int index = info - g_variant_type_info_basic_table; if (index) g_variant_type_info_check__g_boolean_var_ = 1; g_assertion_message_expr(); } void g_variant_type_info_get() { g_variant_type_info_get_info = g_variant_type_info_basic_table + g_variant_type_info_get_index; g_variant_type_info_check(g_variant_type_info_get_info); } Crash: $ gcc -c bug.c.c -o bug.o -O2 during IPA pass: inline bug.c.c:15:1: internal compiler error: Segmentation fault 15 | } | ^ 0x1afc249 diagnostic_impl(rich_location*, diagnostic_metadata const*, int, char const*, __va_list_tag (*) [1], diagnostic_t) 0x1afd0b9 internal_error(char const*, ...) 0xc9239f crash_signal(int) 0xf997f4 canonize(long*, unsigned int, unsigned int) 0xbe16b4 range_operator::wi_fold_in_parts(irange&, tree_node*, generic_wide_int<wide_int_storage> const&, generic_wide_int<wide_int_storage> const&, generic_wide_int<wide_int_storage> const&, generic_wide_int<wide_int_storage> const&) const 0xbe1fb4 range_operator::fold_range(irange&, tree_node*, irange const&, irange const&, relation_trio) const 0xa1ea8a evaluate_conditions_for_known_args(cgraph_node*, bool, ipa_auto_call_arg_values*, unsigned int*, unsigned int*) 0xa236ae evaluate_properties_for_edge(cgraph_edge*, bool, unsigned int*, unsigned int*, ipa_auto_call_arg_values*, bool) 0xa37972 do_estimate_edge_size(cgraph_edge*) [clone .part.63] 0xa391fa do_estimate_growth_1(cgraph_node*, void*) 0xa39719 estimate_growth(cgraph_node*) 0x19d3931 inline_small_functions() 0x19d47a2 (anonymous namespace)::pass_ipa_inline::execute(function*) gcc is built from r14-283-g95d4c0d2e6318a: $ gcc -v Using built-in specs. COLLECT_GCC=/<<NIX>>/xgcc-14.0.0/bin/gcc COLLECT_LTO_WRAPPER=/<<NIX>>/xgcc-14.0.0/libexec/gcc/x86_64-unknown-linux-gnu/14.0.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: Thread model: posix Supported LTO compression algorithms: zlib gcc version 14.0.0 99999999 (experimental) (GCC)