aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa.c
diff options
context:
space:
mode:
authorDaniel Berlin <dberlin@dberlin.org>2007-01-29 19:38:00 +0000
committerDaniel Berlin <dberlin@gcc.gnu.org>2007-01-29 19:38:00 +0000
commit306219a28de461c81501a32d77d3e0b1cce832c8 (patch)
tree7897072edfc0eae9bd0cdbca19fba28cbf0e59c8 /gcc/tree-ssa.c
parentacd724f62a7599bec3e40cdc5a02f961f64358d3 (diff)
downloadgcc-306219a28de461c81501a32d77d3e0b1cce832c8.zip
gcc-306219a28de461c81501a32d77d3e0b1cce832c8.tar.gz
gcc-306219a28de461c81501a32d77d3e0b1cce832c8.tar.bz2
tree.h (struct tree_memory_tag): Add aliases member.
2007-01-28 Daniel Berlin <dberlin@dberlin.org> * tree.h (struct tree_memory_tag): Add aliases member. (MTAG_ALIASES): New macro. * tree-ssa-alias.c (alias_bitmap_obstack): New variable. (add_may_alias): Remove pointer-set. Update for may_aliases being a bitmap. (mark_aliases_call_clobbered): Update for may_aliases being a bitmap. (compute_tag_properties): Ditto. (create_partition_for): Ditto. (compute_memory_partitions): Ditto. (dump_may_aliases_for): Ditto. (is_aliased_with): Ditto. (add_may_alias_for_new_tag): Ditto. (rewrite_alias_set_for): Rewrite for may_aliases being a bitmap. (compute_is_aliased): New function. (compute_may_aliases): Call compute_is_aliased). (init_alias_info): Initialize alias_bitmap_obstack. (union_alias_set_into): New function. (compute_flow_sensitive_aliasing): Use union_aliases_into. (have_common_aliases_p): Rewrite to take two bitmaps and use intersection. (compute_flow_insensitive_aliasing): Stop using pointer-sets. Update for bitmaps. (finalize_ref_all_pointers): Update for add_may_alias changes. (new_type_alias): Ditto. * tree-flow-inline.h (may_aliases): Return a bitmap. * tree-dfa.c (dump_variable): Check for MTAG_P'ness. * tree-ssa.c (verify_flow_insensitive_alias_info): Update for may_aliases being a bitmap. * tree-flow.h (struct var_ann_d): Remove may_aliases member. may_aliases now returns a bitmap. * tree-ssa-structalias.c (merge_smts_into): Update for may_aliases being a bitmap. * tree-ssa-operands.c (add_virtual_operand): Update for may_aliases being a bitmap. From-SVN: r121302
Diffstat (limited to 'gcc/tree-ssa.c')
-rw-r--r--gcc/tree-ssa.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c
index dd771ea..6c35fee 100644
--- a/gcc/tree-ssa.c
+++ b/gcc/tree-ssa.c
@@ -380,17 +380,20 @@ verify_flow_insensitive_alias_info (void)
FOR_EACH_REFERENCED_VAR (var, rvi)
{
- size_t j;
- var_ann_t ann;
- VEC(tree,gc) *may_aliases;
+ unsigned int j;
+ bitmap aliases;
tree alias;
+ bitmap_iterator bi;
- ann = var_ann (var);
- may_aliases = ann->may_aliases;
+ if (!MTAG_P (var) || !MTAG_ALIASES (var))
+ continue;
+
+ aliases = MTAG_ALIASES (var);
- for (j = 0; VEC_iterate (tree, may_aliases, j, alias); j++)
+ EXECUTE_IF_SET_IN_BITMAP (aliases, 0, j, bi)
{
- bitmap_set_bit (visited, DECL_UID (alias));
+ alias = referenced_var (j);
+ bitmap_set_bit (visited, j);
if (TREE_CODE (alias) != MEMORY_PARTITION_TAG
&& !may_be_aliased (alias))