diff options
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/ipa-reference.c | 6 |
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) { |