summaryrefslogtreecommitdiff
path: root/gcc/tree-optimize.c
diff options
context:
space:
mode:
authordorit <dorit@138bc75d-0d04-0410-961f-82ee72b054a4>2005-05-29 13:14:42 +0000
committerdorit <dorit@138bc75d-0d04-0410-961f-82ee72b054a4>2005-05-29 13:14:42 +0000
commit3857274c4287116920191985bc5d7798ac9cf497 (patch)
treee9e4e7917523b632ed676b411c41a27546c3875b /gcc/tree-optimize.c
parent829ab997376f352ae2b30055a4853c620b69aa9a (diff)
downloadgcc-3857274c4287116920191985bc5d7798ac9cf497.tar.gz
2005-05-29 Keith Besaw <kbesaw@us.ibm.com>
* tree-ssa-alias.c (new_type_alias): New procedure to create a type memory tag for a pointer with a may-alias set determined from a variable declaration. * tree-flow.h: export declaration of new_type_alias * tree-optimize.c (init_tree_optimization_passes): document that pass_may_alias cannot be called after pass_vectorize. * tree-vect-transform (vect_create_data_ref_ptr): Call new_type_alias when an type memory tag isn't available for a reference. (vectorizable_store): Use copy_virtual_operands to update virtual defs in place (so that loop_version can be called). Call mark_for_renaming for the virtual defs in case peeling is done and virtual uses outside the loop need to be updated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100322 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-optimize.c')
-rw-r--r--gcc/tree-optimize.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/tree-optimize.c b/gcc/tree-optimize.c
index 825c2b194fc..4d02e5572cc 100644
--- a/gcc/tree-optimize.c
+++ b/gcc/tree-optimize.c
@@ -478,6 +478,9 @@ init_tree_optimization_passes (void)
NEXT_PASS (pass_iv_canon);
NEXT_PASS (pass_if_conversion);
NEXT_PASS (pass_vectorize);
+ /* NEXT_PASS (pass_may_alias) cannot be done again because the
+ vectorizer creates alias relations that are not supported by
+ pass_may_alias. */
NEXT_PASS (pass_lower_vector_ssa);
NEXT_PASS (pass_complete_unroll);
NEXT_PASS (pass_iv_optimize);