diff options
author | Dorit Nuzman <dorit@il.ibm.com> | 2005-08-18 16:07:54 +0000 |
---|---|---|
committer | Dorit Nuzman <dorit@gcc.gnu.org> | 2005-08-18 16:07:54 +0000 |
commit | 90ff949ff7d9944c5a74314de7765046c96898a8 (patch) | |
tree | 5a4e2f96ccfdb102363ddcfd937e2214b062700d /gcc/tree-vect-transform.c | |
parent | f17db6cd86ad1c3a67951f02abe211545efe10ef (diff) | |
download | gcc-90ff949ff7d9944c5a74314de7765046c96898a8.zip gcc-90ff949ff7d9944c5a74314de7765046c96898a8.tar.gz gcc-90ff949ff7d9944c5a74314de7765046c96898a8.tar.bz2 |
re PR tree-optimization/22228 (ICE with -ftree-vectorize in verify_ssa)
PR tree-optimization/22228
* tree-ssa-loop (pass_vectorize): Add TODO_verify_loops to todo_flags_start.
* tree-vect-transform.c (vect_transform_loop): Mark the variables that
are recorded in vect_vnames_to_rename for renaming.
* tree-vectorizer.c (vect_vnames_to_rename): New global bitmap.
(slpeel_update_phi_nodes_for_guard1): Record virtual vars for renaming
in vect_vnames_to_rename.
(vectorize_loops): Allocate and free the vect_vnames_to_rename bitmap.
* tree-vectorizer.h (vect_vnames_to_rename): New extern variable.
From-SVN: r103252
Diffstat (limited to 'gcc/tree-vect-transform.c')
-rw-r--r-- | gcc/tree-vect-transform.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/tree-vect-transform.c b/gcc/tree-vect-transform.c index 1923cbc..be5b779 100644 --- a/gcc/tree-vect-transform.c +++ b/gcc/tree-vect-transform.c @@ -2735,10 +2735,16 @@ vect_transform_loop (loop_vec_info loop_vinfo, int i; tree ratio = NULL; int vectorization_factor = LOOP_VINFO_VECT_FACTOR (loop_vinfo); + bitmap_iterator bi; + unsigned int j; if (vect_print_dump_info (REPORT_DETAILS)) fprintf (vect_dump, "=== vec_transform_loop ==="); + /* CHECKME: we wouldn't need this if we calles update_ssa once + for all loops. */ + bitmap_zero (vect_vnames_to_rename); + /* Peel the loop if there are data refs with unknown alignment. Only one data ref with unknown store is allowed. */ @@ -2824,6 +2830,9 @@ vect_transform_loop (loop_vec_info loop_vinfo, slpeel_make_loop_iterate_ntimes (loop, ratio); + EXECUTE_IF_SET_IN_BITMAP (vect_vnames_to_rename, 0, j, bi) + mark_sym_for_renaming (SSA_NAME_VAR (ssa_name (j))); + /* The memory tags and pointers in vectorized statements need to have their SSA forms updated. FIXME, why can't this be delayed until all the loops have been transformed? */ |