[PATCH, PR 49786] Avoid overflow when updating counts in IPA-CP

Jan Hubicka hubicka@ucw.cz
Tue Jul 26 13:17:00 GMT 2011


> Hi,
> 
> the issue in PR 49786 has been well summarized in comment #12.
> Basically, the multiplication we do when updating counts of edges
> overflows.  I looked at how this was handled previously in IPA-CP and
> the following should be an equivalent solution.
> 
> This patch fixes the LTO profiled bootstrap and I have tested it by
> doing a usual non-LTO and non-profiled bootstrap and testsuite
> (without any issues) run as well as running the testsuite on the
> compiler produced by the LTO profiled bootstrap.  I compared the
> second set of testsuite results with both the results obtained from a
> revision before the IPA-CP submission and the current normal bootstrap
> ones and it seemed fine (although there were a few dump scan
> failures).  (All of the above was done on x86_64-linux.)
> 
> So, OK for trunk?

Ok, thanks
as a general rule we can't do second power of count in 64bit value, so my referred
solution is this REG_BR_PROB_BASE fixed point math.

Honza



More information about the Gcc-patches mailing list