aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-inline.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2010-05-11 10:14:50 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2010-05-11 08:14:50 +0000
commit99b766fc8bf3b91a7e326aeb07792eb33635184d (patch)
tree42568770dccb09df07e5beff55df5ce77b3c4957 /gcc/tree-inline.c
parenta940b4d9ab2566bce05dd5abb9b90467684a43e8 (diff)
downloadgcc-99b766fc8bf3b91a7e326aeb07792eb33635184d.zip
gcc-99b766fc8bf3b91a7e326aeb07792eb33635184d.tar.gz
gcc-99b766fc8bf3b91a7e326aeb07792eb33635184d.tar.bz2
cgraphbuild.c (cgraph_rebuild_references): New.
* cgraphbuild.c (cgraph_rebuild_references): New. (cgraph_mark_reachable_node): Accept references to optimized out extern inlines. * cgraph.h (cgraph_rebuild_references): Declare. * tree-inline.c (tree_function_versioning): Use it. * ipa-struct-reorg.c (do_reorg_for_func): Likewise. From-SVN: r159259
Diffstat (limited to 'gcc/tree-inline.c')
-rw-r--r--gcc/tree-inline.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c
index 8e7d1d67..ee7a457 100644
--- a/gcc/tree-inline.c
+++ b/gcc/tree-inline.c
@@ -5037,6 +5037,8 @@ tree_function_versioning (tree old_decl, tree new_decl,
pointer_set_destroy (id.statements_to_fold);
fold_cond_expr_cond ();
delete_unreachable_blocks_update_callgraph (&id);
+ if (id.dst_node->analyzed)
+ cgraph_rebuild_references ();
update_ssa (TODO_update_ssa);
free_dominance_info (CDI_DOMINATORS);
free_dominance_info (CDI_POST_DOMINATORS);