aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-sra.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-sra.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-sra.c')
-rw-r--r--gcc/tree-sra.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c
index f2e64c7..5d69a49 100644
--- a/gcc/tree-sra.c
+++ b/gcc/tree-sra.c
@@ -2400,6 +2400,8 @@ tree_sra (void)
scan_function ();
decide_instantiations ();
scalarize_function ();
+ if (!bitmap_empty_p (sra_candidates))
+ todoflags |= TODO_rebuild_alias;
}
/* Free allocated memory. */
@@ -2422,7 +2424,7 @@ tree_sra_early (void)
ret = tree_sra ();
early_sra = false;
- return ret;
+ return ret & ~TODO_rebuild_alias;
}
static bool