[PATCH] Fix ICE in ipa-cp due to cost addition overflow (PR 96806)
Mon Aug 31 11:11:57 GMT 2020
> On Mon, Aug 31 2020, Feng Xue OS wrote:
> > This patch is to fix a bug that cost that is used to evaluate clone candidate
> > becomes negative due to integer overflow.
> > Feng
> > ---
> > 2020-08-31 Feng Xue <firstname.lastname@example.org>
> > gcc/
> > PR tree-optimization/96806
> the component is "ipa," please change that when you commit the patch.
> > * ipa-cp.c (decide_about_value): Use safe_add to avoid cost addition
> > overflow.
> assuming you have bootstrapped and tested it, it is OK for both trunk
> and all affected release branches.
I have already added caps on things that come from profile counts so
things do not overflow, but I think in longer run we want to simply use
> > && !good_cloning_opportunity_p (node,
> > - val->local_time_benefit
> > - + val->prop_time_benefit,
> > + safe_add (val->local_time_benefit,
> > + val->prop_time_benefit),
> > freq_sum, count_sum,
> > - val->local_size_cost
> > - + val->prop_size_cost))
> > + safe_add (val->local_size_cost,
> > + val->prop_size_cost)))
Is it also size cost that may overflow? That seem bit odd ;)
> > return false;
> > if (dump_file)
More information about the Gcc-patches