diff options
author | Richard Guenther <rguenther@suse.de> | 2009-06-26 12:25:32 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2009-06-26 12:25:32 +0000 |
commit | 46aaa417039ee45500f836e994e93a5cbb070bde (patch) | |
tree | a638707379075e17b8a64d74c5499b8c3e550915 /gcc/tree-ssa-structalias.c | |
parent | f94bdf2b182c7fedb19c6d92803ccb0aaec1d836 (diff) | |
download | gcc-46aaa417039ee45500f836e994e93a5cbb070bde.tar.gz |
tree-ssa-structalias.c (do_ds_constraint): Simplify escape handling.
2009-06-26 Richard Guenther <rguenther@suse.de>
* tree-ssa-structalias.c (do_ds_constraint): Simplify escape
handling.
From-SVN: r148968
Diffstat (limited to 'gcc/tree-ssa-structalias.c')
-rw-r--r-- | gcc/tree-ssa-structalias.c | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/gcc/tree-ssa-structalias.c b/gcc/tree-ssa-structalias.c index 692a6240403..b175391c374 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. */ |