diff options
author | Daniel Berlin <dberlin@gcc.gnu.org> | 2007-08-14 20:52:47 +0000 |
---|---|---|
committer | Daniel Berlin <dberlin@gcc.gnu.org> | 2007-08-14 20:52:47 +0000 |
commit | 7b0e48fb44b44241ae79e34a666edc87fdfbeb78 (patch) | |
tree | 162c2336093852966cecdacd8587d21a4e4868f9 /gcc/tree-ssa-alias.c | |
parent | ea2666ba5e7bd79860e585dd09092bbcb0dd23c9 (diff) | |
download | gcc-7b0e48fb44b44241ae79e34a666edc87fdfbeb78.zip gcc-7b0e48fb44b44241ae79e34a666edc87fdfbeb78.tar.gz gcc-7b0e48fb44b44241ae79e34a666edc87fdfbeb78.tar.bz2 |
tree-pass.h (PROP_pta): Removed.
2007-08-14 Daniel Berlin <dberlin@dberlin.org>
* tree-pass.h (PROP_pta): Removed.
(TODO_rebuild_alias): New.
(pass_may_alias): Removed.
* tree-ssa-ccp.c (execute_fold_all_builtins): Only rebuild
aliasing if we changed something.
* tree-ssa-alias.c (compute_may_aliases): Make non-static. Update
SSA internally.
(pass_may_alias): Removed.
(create_structure_vars): Return TODO_rebuild_alias.
* tree-ssa-pre.c (do_pre): Return TODO_rebuild_alias.
* tree-sra.c (tree_sra): Only rebuild aliasing if something
changed.
(tree_sra_early): We never affect aliasing right now.
* tree-flow.h (compute_may_aliases): New prototype.
* passes.c: Remove pass_may_alias from the passes.
(execute_function_todo): Support TODO_rebuild_alias.
From-SVN: r127491
Diffstat (limited to 'gcc/tree-ssa-alias.c')
-rw-r--r-- | gcc/tree-ssa-alias.c | 34 |
1 files changed, 9 insertions, 25 deletions
diff --git a/gcc/tree-ssa-alias.c b/gcc/tree-ssa-alias.c index b1dcf44..3889ea5 100644 --- a/gcc/tree-ssa-alias.c +++ b/gcc/tree-ssa-alias.c @@ -1634,10 +1634,12 @@ done: grouped to avoid severe compile-time slow downs and memory consumption. See compute_memory_partitions. */ -static unsigned int +unsigned int compute_may_aliases (void) { struct alias_info *ai; + + timevar_push (TV_TREE_MAY_ALIAS); memset (&alias_stats, 0, sizeof (alias_stats)); @@ -1731,33 +1733,15 @@ compute_may_aliases (void) /* Deallocate memory used by aliasing data structures. */ delete_alias_info (ai); + + if (need_ssa_update_p ()) + update_ssa (TODO_update_ssa); + + timevar_pop (TV_TREE_MAY_ALIAS); return 0; } - -struct tree_opt_pass pass_may_alias = -{ - "alias", /* name */ - NULL, /* gate */ - compute_may_aliases, /* execute */ - NULL, /* sub */ - NULL, /* next */ - 0, /* static_pass_number */ - TV_TREE_MAY_ALIAS, /* tv_id */ - PROP_cfg | PROP_ssa, /* properties_required */ - PROP_alias, /* properties_provided */ - 0, /* properties_destroyed */ - 0, /* todo_flags_start */ - TODO_dump_func - | TODO_update_ssa - | TODO_ggc_collect - | TODO_verify_ssa - | TODO_verify_stmts, /* todo_flags_finish */ - 0 /* letter */ -}; - - /* Data structure used to count the number of dereferences to PTR inside an expression. */ struct count_ptr_d @@ -4028,7 +4012,7 @@ create_structure_vars (void) } } - return 0; + return TODO_rebuild_alias; } static bool |