diff options
author | Daniel Berlin <dberlin@dberlin.org> | 2007-01-29 19:38:00 +0000 |
---|---|---|
committer | Daniel Berlin <dberlin@gcc.gnu.org> | 2007-01-29 19:38:00 +0000 |
commit | 306219a28de461c81501a32d77d3e0b1cce832c8 (patch) | |
tree | 7897072edfc0eae9bd0cdbca19fba28cbf0e59c8 /gcc/tree-ssa.c | |
parent | acd724f62a7599bec3e40cdc5a02f961f64358d3 (diff) | |
download | gcc-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.c | 17 |
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)) |