diff options
author | Jan Hubicka <jh@suse.cz> | 2011-10-20 14:18:56 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2011-10-20 12:18:56 +0000 |
commit | f2aeb744a1029e8ca105c4f2ee5f479521810f9a (patch) | |
tree | b8c06b50139cb3b2aa2b8a614a11d1976dcce990 | |
parent | 51973b1e1fecff2bd1929437654c141425402d38 (diff) | |
download | gcc-f2aeb744a1029e8ca105c4f2ee5f479521810f9a.zip gcc-f2aeb744a1029e8ca105c4f2ee5f479521810f9a.tar.gz gcc-f2aeb744a1029e8ca105c4f2ee5f479521810f9a.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ipa-inline.c | 9 |
2 files changed, 12 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e7c42e5..e07de32 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2011-10-19 Jan Hubicka <jh@suse.cz> + * ipa-inline.c (inline_small_functions): Always update all calles after + inlining. + +2011-10-19 Jan Hubicka <jh@suse.cz> + PR bootstrap/50709 * ipa-inline.c (inline_small_functions): Fix checking code to not make effect on fibheap stability. diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c index 909b5ba..f53f001 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); |