This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: New badness metric for inliner
From: David Miller <davem@davemloft.net>
Date: Tue, 06 Nov 2012 13:26:53 -0500 (EST)
> From: Jan Hubicka <hubicka@ucw.cz>
> Date: Tue, 6 Nov 2012 19:21:46 +0100
>
>> The problem here is really that MAX_TIME * MAX_FREQ do not fit into 32bit integer. Fixed thus.
>>
>> * ipa-inline.c (compute_uninlined_call_time): Return gcov_type.
>> (compute_inlined_call_time): Watch overflows.
>> (relative_time_benefit): Compute in gcov_type.
>
> Thanks Jan, I'll test this right now.
Bootstrap still fails with this change installed:
../../gcc/gcc/graphite-interchange.c:645:1: internal compiler error: in relative_time_benefit, at \
ipa-inline.c:785
}
^
0x108289f relative_time_benefit
../../gcc/gcc/ipa-inline.c:785
0x1082fcb edge_badness
../../gcc/gcc/ipa-inline.c:895
0x108372f update_edge_key
../../gcc/gcc/ipa-inline.c:963
0x10840db update_callee_keys
../../gcc/gcc/ipa-inline.c:1142
0x1085b47 inline_small_functions
../../gcc/gcc/ipa-inline.c:1595
0x10864f7 ipa_inline
../../gcc/gcc/ipa-inline.c:1770
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
make[3]: *** [graphite-interchange.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [all-stage2-gcc] Error 2
make[1]: *** [stage2-bubble] Error 2
make: *** [all] Error 2
And as Toon pointed out, even x86-64 is seeing this problem, so something
other than the size of the datum holding the value is at work here.