From: David Miller <davem@davemloft.net>
Date: Tue, 06 Nov 2012 14:28:19 -0500 (EST)
> Or perhaps we can get away with only using gcov_t for info->time, I'll> give that a try.
That gets thing further, but if the edge times add up to such large
values it seems we have lots of other potential problems.
With info->times converted to gcov_type, the next assertion I hit is:
gcc_assert (cached_badness == current_badness);
in inline_small_functions().
Both badness values are negative.
(gdb) p cached_badness
$1 = -91472
(gdb) p current_badness
$2 = -11434
This is starting to look like a very deep rabbit hole, and I'm really
surprised that you hit none of these problems. Especially since even
x86-64 is getting fortran testsuite failure regressions due to these
changes.

From: Jan Hubicka <hubicka@ucw.cz>
Date: Tue, 6 Nov 2012 22:01:27 +0100
> Hmm, this is obvoiusly wrong. All the caller time computation should be capped> to MAX_TIME that should be safe from overflows.
They are not capped to MAX_TIME.
They are capped to MAX_TIME * INLINE_TIME_SCALE which is
1000000000.