diff options
author | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-11-05 22:25:29 +0000 |
---|---|---|
committer | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-11-05 22:25:29 +0000 |
commit | 7deddfded2d013c07a639873a4c90bfed40fd03e (patch) | |
tree | 3df2a52207fec5bec55c28303aa57a8bd9b4e620 /gcc/ipa.c | |
parent | c79b54af83c8031caac515081fb7c56a127b90e3 (diff) | |
download | gcc-7deddfded2d013c07a639873a4c90bfed40fd03e.tar.gz |
2010-11-05 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk rev 166377
2010-11-05 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk rev 166377
* gcc/Makefile.in (MELT_RAW_CFLAGS): removed LIBELFINC
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@166380 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ipa.c')
-rw-r--r-- | gcc/ipa.c | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/gcc/ipa.c b/gcc/ipa.c index c318b65fd92..7c2c7f23baf 100644 --- a/gcc/ipa.c +++ b/gcc/ipa.c @@ -170,12 +170,11 @@ process_references (struct ipa_ref_list *list, { struct cgraph_node *node = ipa_ref_node (ref); if (!node->reachable + && node->analyzed && (!DECL_EXTERNAL (node->decl) || before_inlining_p)) - { - node->reachable = true; - enqueue_cgraph_node (node, first); - } + node->reachable = true; + enqueue_cgraph_node (node, first); } else { @@ -304,15 +303,15 @@ cgraph_remove_unreachable_nodes (bool before_inlining_p, FILE *file) if (node->reachable) { for (e = node->callees; e; e = e->next_callee) - if (!e->callee->reachable - && node->analyzed - && (!e->inline_failed || !e->callee->analyzed - || (!DECL_EXTERNAL (e->callee->decl)) - || before_inlining_p)) - { + { + if (!e->callee->reachable + && node->analyzed + && (!e->inline_failed + || !DECL_EXTERNAL (e->callee->decl) + || before_inlining_p)) e->callee->reachable = true; - enqueue_cgraph_node (e->callee, &first); - } + enqueue_cgraph_node (e->callee, &first); + } process_references (&node->ref_list, &first, &first_varpool, before_inlining_p); } @@ -416,7 +415,7 @@ cgraph_remove_unreachable_nodes (bool before_inlining_p, FILE *file) found = true; /* If so, we need to keep node in the callgraph. */ - if (found || node->needed) + if (found) { if (node->analyzed) { |