summaryrefslogtreecommitdiff
path: root/gcc/ipa.c
diff options
context:
space:
mode:
authorbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2010-11-05 22:25:29 +0000
committerbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2010-11-05 22:25:29 +0000
commit7deddfded2d013c07a639873a4c90bfed40fd03e (patch)
tree3df2a52207fec5bec55c28303aa57a8bd9b4e620 /gcc/ipa.c
parentc79b54af83c8031caac515081fb7c56a127b90e3 (diff)
downloadgcc-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.c25
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)
{