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-ccp.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-ccp.c')
-rw-r--r-- | gcc/tree-ssa-ccp.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/gcc/tree-ssa-ccp.c b/gcc/tree-ssa-ccp.c index 5d4d3d8..e6dfcd8 100644 --- a/gcc/tree-ssa-ccp.c +++ b/gcc/tree-ssa-ccp.c @@ -2640,6 +2640,8 @@ execute_fold_all_builtins (void) { bool cfg_changed = false; basic_block bb; + unsigned int todoflags = 0; + FOR_EACH_BB (bb) { block_stmt_iterator i; @@ -2697,6 +2699,7 @@ execute_fold_all_builtins (void) { bool ok = set_rhs (stmtp, result); gcc_assert (ok); + todoflags |= TODO_rebuild_alias; } } @@ -2728,9 +2731,12 @@ execute_fold_all_builtins (void) bsi_next (&i); } } - + /* Delete unreachable blocks. */ - return cfg_changed ? TODO_cleanup_cfg : 0; + if (cfg_changed) + todoflags |= TODO_cleanup_cfg; + + return todoflags; } |