diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/tree-ssa-alias.c | 1 | ||||
-rw-r--r-- | gcc/tree-ssa-structalias.c | 55 | ||||
-rw-r--r-- | gcc/tree-ssa-structalias.h | 1 |
4 files changed, 8 insertions, 57 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7faf0de..7ae7101 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,13 @@ 2008-07-07 Richard Guenther <rguenther@suse.de> + * tree-ssa-structalias.h (set_used_smts): Remove. + * tree-ssa-structalias.c (used_smts): Likewise. + (set_used_smts): Likewise. + * tree-ssa-alias.c (compute_flow_sensitive_aliasing): Remove + call to set_used_smts. + +2008-07-07 Richard Guenther <rguenther@suse.de> + * tree-ssa-structalias.c (struct variable_info): Add is_full_var flag. (new_var_info): Set it to false. (solution_set_add): Correctly handle pointers outside a var and diff --git a/gcc/tree-ssa-alias.c b/gcc/tree-ssa-alias.c index ee0f4a7..d4a1e21 100644 --- a/gcc/tree-ssa-alias.c +++ b/gcc/tree-ssa-alias.c @@ -2316,7 +2316,6 @@ compute_flow_sensitive_aliasing (struct alias_info *ai) tree ptr; timevar_push (TV_FLOW_SENSITIVE); - set_used_smts (); for (i = 0; VEC_iterate (tree, ai->processed_ptrs, i, ptr); i++) { diff --git a/gcc/tree-ssa-structalias.c b/gcc/tree-ssa-structalias.c index 6565d2c..28974be 100644 --- a/gcc/tree-ssa-structalias.c +++ b/gcc/tree-ssa-structalias.c @@ -4684,61 +4684,6 @@ set_uids_in_ptset (tree ptr, bitmap into, bitmap from, bool is_derefed, static bool have_alias_info = false; -/* The list of SMT's that are in use by our pointer variables. This - is the set of SMT's for all pointers that can point to anything. */ -static bitmap used_smts; - -/* Due to the ordering of points-to set calculation and SMT - calculation being a bit co-dependent, we can't just calculate SMT - used info whenever we want, we have to calculate it around the time - that find_what_p_points_to is called. */ - -/* Mark which SMT's are in use by points-to anything variables. */ - -void -set_used_smts (void) -{ - int i; - varinfo_t vi; - used_smts = BITMAP_ALLOC (&pta_obstack); - - for (i = 0; VEC_iterate (varinfo_t, varmap, i, vi); i++) - { - tree var = vi->decl; - varinfo_t withsolution = get_varinfo (find (i)); - tree smt; - var_ann_t va; - struct ptr_info_def *pi = NULL; - - /* For parm decls, the pointer info may be under the default - def. */ - if (TREE_CODE (vi->decl) == PARM_DECL - && gimple_default_def (cfun, var)) - pi = SSA_NAME_PTR_INFO (gimple_default_def (cfun, var)); - else if (TREE_CODE (var) == SSA_NAME) - pi = SSA_NAME_PTR_INFO (var); - - /* Skip the special variables and those that can't be aliased. */ - if (vi->is_special_var - || !SSA_VAR_P (var) - || (pi && !pi->memory_tag_needed) - || (TREE_CODE (var) == VAR_DECL && !may_be_aliased (var)) - || !POINTER_TYPE_P (TREE_TYPE (var))) - continue; - - if (TREE_CODE (var) == SSA_NAME) - var = SSA_NAME_VAR (var); - - va = var_ann (var); - if (!va) - continue; - - smt = va->symbol_mem_tag; - if (smt && bitmap_bit_p (withsolution->solution, anything_id)) - bitmap_set_bit (used_smts, DECL_UID (smt)); - } -} - /* Given a pointer variable P, fill in its points-to set, or return false if we can't. Rather than return false for variables that point-to anything, we diff --git a/gcc/tree-ssa-structalias.h b/gcc/tree-ssa-structalias.h index 7d468b4..c7ef1d4 100644 --- a/gcc/tree-ssa-structalias.h +++ b/gcc/tree-ssa-structalias.h @@ -39,6 +39,5 @@ extern void dump_solution_for_var (FILE *, unsigned int); extern void debug_solution_for_var (unsigned int); extern void dump_sa_points_to_info (FILE *); extern void debug_sa_points_to_info (void); -extern void set_used_smts (void); #endif /* TREE_SSA_STRUCTALIAS_H */ |