https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108605
Bug ID: 108605
Summary: [13 Regression] ICE in ipa_push_agg_values_from_jfunc,
at ipa-cp.cc:2089
Product: gcc
Version: 13.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: [email protected]
Target Milestone: ---
Started between 20221016 and 20221023, at -O2+ :
$ cat z1.cc
typedef enum {A} E;
struct S {
E __attribute__ ((mode (__byte__))) a;
E __attribute__ ((mode (__byte__))) b;
E __attribute__ ((mode (__byte__))) c;
int d[2147483647];
E e;
};
void foo (S *s)
{
if (s->b && s->c != A)
__builtin_abort ();
}
void bar ()
{
struct S s[2];
s[0].a = A;
s[0].e = A;
foo (s);
}
$ g++-13-20230129 -c z1.cc -O2
during IPA pass: inline
z1.cc:20:1: internal compiler error: in ipa_push_agg_values_from_jfunc, at
ipa-cp.cc:2089
20 | }
| ^
0x1b03d95 ipa_push_agg_values_from_jfunc(ipa_node_params*, cgraph_node*,
ipa_agg_jump_function*, unsigned int, vec<ipa_argagg_value, va_heap, vl_ptr>*)
../../gcc/ipa-cp.cc:2088
0xc6f68d evaluate_properties_for_edge(cgraph_edge*, bool, unsigned int*,
unsigned int*, ipa_auto_call_arg_values*, bool)
../../gcc/ipa-fnsummary.cc:668
0xc83842 do_estimate_edge_size(cgraph_edge*)
../../gcc/ipa-inline-analysis.cc:335
0xc851ba estimate_edge_size
../../gcc/ipa-inline.h:79
0xc851ba estimate_edge_growth
../../gcc/ipa-inline.h:100
0xc851ba do_estimate_growth_1
../../gcc/ipa-inline-analysis.cc:434
0xc85835 cgraph_node::call_for_symbol_and_aliases(bool (*)(cgraph_node*,
void*), void*, bool)
../../gcc/cgraph.h:3416
0xc85835 estimate_growth(cgraph_node*)
../../gcc/ipa-inline-analysis.cc:472
0x1b237a8 inline_small_functions
../../gcc/ipa-inline.cc:1986
0x1b24151 ipa_inline
../../gcc/ipa-inline.cc:2754
0x1b24151 execute
../../gcc/ipa-inline.cc:3153