aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-ccp.c
diff options
context:
space:
mode:
authorDaniel Berlin <dberlin@gcc.gnu.org>2007-08-14 20:52:47 +0000
committerDaniel Berlin <dberlin@gcc.gnu.org>2007-08-14 20:52:47 +0000
commit7b0e48fb44b44241ae79e34a666edc87fdfbeb78 (patch)
tree162c2336093852966cecdacd8587d21a4e4868f9 /gcc/tree-ssa-ccp.c
parentea2666ba5e7bd79860e585dd09092bbcb0dd23c9 (diff)
downloadgcc-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.c10
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;
}