From b6e0bdbdc88ebc72ba56130188a0f309c581ea55 Mon Sep 17 00:00:00 2001 From: Daniel Berlin Date: Sat, 16 Jul 2005 22:27:21 +0000 Subject: [PATCH] tree-ssa-structalias.c (need_to_solve): Need to check for preds, too. 2005-07-16 Daniel Berlin * tree-ssa-structalias.c (need_to_solve): Need to check for preds, too. From-SVN: r102100 --- gcc/ChangeLog | 5 +++++ gcc/tree-ssa-structalias.c | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5ead455..d608e19 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2005-07-16 Daniel Berlin + + * tree-ssa-structalias.c (need_to_solve): Need to check for preds, + too. + 2005-07-16 Eric Botcazou * doc/install.texi (*-*-solaris2*): Document recommended version diff --git a/gcc/tree-ssa-structalias.c b/gcc/tree-ssa-structalias.c index cb45a8c..f715ce7 100644 --- a/gcc/tree-ssa-structalias.c +++ b/gcc/tree-ssa-structalias.c @@ -3494,7 +3494,8 @@ init_base_vars (void) /* Return true if we actually need to solve the constraint graph in order to get our points-to sets. This is false when, for example, no addresses are taken other than special vars, or all points-to sets with members already - contain the anything variable. */ + contain the anything variable and there are no predecessors for other + sets. */ static bool need_to_solve (void) @@ -3516,6 +3517,9 @@ need_to_solve (void) && !bitmap_empty_p (v->solution) && !bitmap_bit_p (v->solution, anything_id)) found_non_anything = true; + else if (bitmap_empty_p (v->solution) + && VEC_length (constraint_edge_t, graph->preds[v->id]) != 0) + found_non_anything = true; if (found_address_taken && found_non_anything) return true; -- 2.7.4