This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/55683] [4.8 Regression] ICE in inline_call, at ipa-inline-transform.c:270


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?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]