aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2010-05-19 00:37:32 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2010-05-18 22:37:32 +0000
commit58efc3ac598a5051d9a6ebafa7ed8bd43a0c81ac (patch)
treedf5711a33875cabb0ee0bced7b14bf0b2b0f4e66
parent0495bafc275da774004e17904228551ac9405933 (diff)
downloadgcc-58efc3ac598a5051d9a6ebafa7ed8bd43a0c81ac.zip
gcc-58efc3ac598a5051d9a6ebafa7ed8bd43a0c81ac.tar.gz
gcc-58efc3ac598a5051d9a6ebafa7ed8bd43a0c81ac.tar.bz2
* ipa-reference.c (propagate): Walk all nodes in the cleanup stage.
From-SVN: r159546
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/ipa-reference.c6
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 631e7a4..d6692f4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2010-05-18 Jan Hubicka <jh@suse.cz>
+
+ * ipa-reference.c (propagate): Walk all nodes in the cleanup stage.
+
2010-05-18 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/43332
diff --git a/gcc/ipa-reference.c b/gcc/ipa-reference.c
index 0b04a66..a66e627 100644
--- a/gcc/ipa-reference.c
+++ b/gcc/ipa-reference.c
@@ -835,13 +835,15 @@ propagate (void)
}
/* Cleanup. */
- for (i = 0; i < order_pos; i++ )
+ for (node = cgraph_nodes; node; node = node->next)
{
ipa_reference_vars_info_t node_info;
ipa_reference_global_vars_info_t node_g;
ipa_reference_optimization_summary_t opt;
- node = order[i];
+ if (!node->analyzed)
+ continue;
+
node_info = get_reference_vars_info (node);
if (cgraph_function_body_availability (node) > AVAIL_OVERWRITABLE)
{