From: Jan Hubicka Date: Thu, 20 Oct 2011 12:18:56 +0000 (+0200) Subject: ipa-inline.c (inline_small_functions): Always update all calles after inlining. X-Git-Tag: releases/gcc-4.7.0~2949 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f2aeb744a1029e8ca105c4f2ee5f479521810f9a;p=thirdparty%2Fgcc.git ipa-inline.c (inline_small_functions): Always update all calles after inlining. * ipa-inline.c (inline_small_functions): Always update all calles after inlining. From-SVN: r180249 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e7c42e5a7431..e07de320d7fe 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2011-10-19 Jan Hubicka + + * ipa-inline.c (inline_small_functions): Always update all calles after + inlining. + 2011-10-19 Jan Hubicka PR bootstrap/50709 diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c index 909b5ba29f3d..f53f00174a8f 100644 --- a/gcc/ipa-inline.c +++ b/gcc/ipa-inline.c @@ -1515,8 +1515,13 @@ inline_small_functions (void) /* We inlined last offline copy to the body. This might lead to callees of function having fewer call sites and thus they - may need updating. */ - if (callee->global.inlined_to) + may need updating. + + FIXME: the callee size could also shrink because more information + is propagated from caller. We don't track when this happen and + thus we need to recompute everything all the time. Once this is + solved, "|| 1" should go away. */ + if (callee->global.inlined_to || 1) update_all_callee_keys (heap, callee, updated_nodes); else update_callee_keys (heap, edge->callee, updated_nodes);