http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55683



--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> 2012-12-14 
10:25:53 UTC ---

263     #ifdef ENABLE_CHECKING

264       /* Verify that estimated growth match real growth.  Allow off-by-one

265          error due to INLINE_SIZE_SCALE roudoff errors.  */

266       gcc_assert (!update_overall_summary || !overall_size

267                   || abs (estimated_growth - (new_size - old_size)) <= 1

268                   /* FIXME: a hack.  Edges with false predicate are

accounted

269                      wrong, we should remove them from callgraph.  */

270                   || predicated);

(gdb) p update_overall_summary

$1 = true

(gdb) p overall_size

$2 = (int *) 0x1bb83a0 <_ZL12overall_size>

(gdb) p estimated_growth - (new_size - old_size)

$3 = -2

(gdb) p predicated

$4 = false

(gdb) p new_size

$5 = 32

(gdb) p old_size

$6 = 22

(gdb) p estimated_growth

$7 = 8



So this is an off-by-two error.  Do multiple INLINE_SIZE_SCALE roundoff

errors not accumulate?

Reply via email to