diff options
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 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. */ |