aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree-ssa-structalias.c16
2 files changed, 7 insertions, 14 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c914f34..c7c31b7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2009-06-26 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-structalias.c (do_ds_constraint): Simplify escape
+ handling.
+
2009-06-26 Steven Bosscher <steven@gcc.gnu.org>
PR middle-end/40525
diff --git a/gcc/tree-ssa-structalias.c b/gcc/tree-ssa-structalias.c
index 692a624..b175391 100644
--- a/gcc/tree-ssa-structalias.c
+++ b/gcc/tree-ssa-structalias.c
@@ -1643,8 +1643,8 @@ do_ds_constraint (constraint_t c, bitmap delta)
unsigned int t;
HOST_WIDE_INT fieldoffset = v->offset + loff;
- /* If v is a NONLOCAL then this is an escape point. */
- if (j == nonlocal_id)
+ /* If v is a global variable then this is an escape point. */
+ if (v->is_global_var)
{
t = find (escaped_id);
if (add_graph_edge (graph, t, rhs)
@@ -1680,18 +1680,6 @@ do_ds_constraint (constraint_t c, bitmap delta)
changed_count++;
}
}
- /* If v is a global variable then this is an escape point. */
- if (v->is_global_var)
- {
- t = find (escaped_id);
- if (add_graph_edge (graph, t, rhs)
- && bitmap_ior_into (get_varinfo (t)->solution, sol)
- && !TEST_BIT (changed, t))
- {
- SET_BIT (changed, t);
- changed_count++;
- }
- }
/* If the variable is not exactly at the requested offset
we have to include the next one. */