aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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)
{