http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50709
Serge Belyshev <belyshev at depni dot sinp.msu.ru> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |wrong-code Target|x86_64 | CC| |belyshev at depni dot | |sinp.msu.ru Blocks| |49740, 49246 Summary|stage3 bootstrap comparison |stage3 bootstrap comparison |fail on x86_64 with |failure with |--disable-checking config |--disable-checking config |option |option --- Comment #2 from Serge Belyshev <belyshev at depni dot sinp.msu.ru> 2011-10-13 15:14:22 UTC --- Git bisect pointed at r173532 by Honza: 2011-05-06 Jan Hubicka <j...@suse.cz> * ipa-inline.c (update_callee_keys): Don't reset node growth cache. --- a/gcc/ipa-inline.c +++ b/gcc/ipa-inline.c @@ -957,9 +957,9 @@ update_callee_keys (fibheap_t heap, struct cgraph_node *node, e = e->callee->callees; else { - /* We inlined and thus callees might have different number of calls. - Reset their caches */ - reset_node_growth_cache (e->callee); + /* We do not reset callee growth cache here. Since we added a new call, + growth chould have just increased and consequentely badness metric + don't need updating. */ if (e->inline_failed && inline_summary (e->callee)->inlinable && cgraph_function_body_availability (e->callee) >= AVAIL_AVAILABLE Reverting this patch helps.