diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-10-02 14:30:50 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-10-02 14:30:50 +0000 |
commit | 941125aa76aa3bfc7cdac563a102881b1ba642e3 (patch) | |
tree | f40e1b4f38e5db0794b1f03ee8f8d26958cf4b8b /gcc/ipa.c | |
parent | d10a25bb8b6f3e2b53d5ecbfe27fd1a37949973b (diff) | |
download | gcc-941125aa76aa3bfc7cdac563a102881b1ba642e3.tar.gz |
* cgraphunit.c (ipa_passes): Remove unrechable nodes.
* lto-streamer-out.c (produce_symtab): Skip unused extern declarations.
* ipa.c (cgraph_remove_unreachable_nodes): Do not assume that external
functions are reachable when address is taken.
* ipa-inline-analysis.c (reset_inline_edge_summary): New
* gcc.dg/ipa/ctor-empty-1.c: Update dump file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179429 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ipa.c')
-rw-r--r-- | gcc/ipa.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/gcc/ipa.c b/gcc/ipa.c index a8c4a358e04..dfd8eef99ca 100644 --- a/gcc/ipa.c +++ b/gcc/ipa.c @@ -196,12 +196,7 @@ cgraph_remove_unreachable_nodes (bool before_inlining_p, FILE *file) /* Keep around virtual functions for possible devirtualization. */ || (before_inlining_p && DECL_VIRTUAL_P (node->decl) - && (DECL_COMDAT (node->decl) || DECL_EXTERNAL (node->decl))) - /* Also external functions with address taken are better to stay - for indirect inlining. */ - || (before_inlining_p - && DECL_EXTERNAL (node->decl) - && node->address_taken))) + && (DECL_COMDAT (node->decl) || DECL_EXTERNAL (node->decl))))) { gcc_assert (!node->global.inlined_to); enqueue_cgraph_node (node, &first); |