Hi Feng,
This patch (commit a0f6a8cb414b687f22c9011a894d5e8e398c4be0) is causing ICEs in
the GCC and perlbench benchmark in Spec2017.
during IPA pass: cp
lto1: internal compiler error: in find_more_scalar_values_for_callers_subset,
at ipa-cp.c:4709
0x1698187 find_more_scalar_values_for_callers_subset
../.././gcc/ipa-cp.c:4709
0x169f7d3 decide_about_value<tree_node*>
../.././gcc/ipa-cp.c:5490
0x169fdc3 decide_whether_version_node
../.././gcc/ipa-cp.c:5537
0x169fdc3 ipcp_decision_stage
../.././gcc/ipa-cp.c:5718
0x169fdc3 ipcp_driver
../.././gcc/ipa-cp.c:5901
Please submit a full bug report,
Thanks,
Tamar
> -----Original Message-----
> From: [email protected] <[email protected]>
> On Behalf Of Feng Xue OS
> Sent: Monday, February 10, 2020 03:29
> To: Martin Jambor <[email protected]>; Jan Hubicka <[email protected]>;
> [email protected]
> Subject: Re: [PATCH V2] Generalized value pass-through for self-recursive
> function (ipa/pr93203)
>
> >> - gcc_checking_assert (item->value);
>
> > I've been staring at this for quite a while, trying to figure out how
> > your patch can put NULL here before I realized it was just a clean-up
> > :-) Sending such changes independently or pointing them out in the
> > email/ChangeLog makes review easier.
>
> Ok. I'll add some description on this cleanup on ChangeLog.
>
> >> @@ -5564,7 +5610,6 @@ decide_whether_version_node (struct
> cgraph_node *node)
> >> }
> >> clone = create_specialized_node (node, known_csts, known_contexts,
> >> aggvals, callers);
> >> - info = IPA_NODE_REF (node);
>
> > please either drop this change or change it to:
> >
> > gcc_checking_assert (info == IPA_NODE_REF (node));
>
> > this line of code was actually necessary when adding nodes possibly
> > invalidated addresses of all summaries - like fast_function_summary
> > classes still do. So if we ever decide to use fast summaries we need
> > a test to remind us that info address must be obtained again.
> Ok. I'm not aware that, will keep the line as original.
>
> Thanks,
> Feng