aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vectorizer.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/tree-vectorizer.c')
-rw-r--r--gcc/tree-vectorizer.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c
index 2640aab..edf139d 100644
--- a/gcc/tree-vectorizer.c
+++ b/gcc/tree-vectorizer.c
@@ -562,6 +562,21 @@ vec_info::lookup_single_use (tree lhs)
return NULL;
}
+/* Record that NEW_STMT_INFO now implements the same data reference
+ as OLD_STMT_INFO. */
+
+void
+vec_info::move_dr (stmt_vec_info new_stmt_info, stmt_vec_info old_stmt_info)
+{
+ gcc_assert (!is_pattern_stmt_p (old_stmt_info));
+ STMT_VINFO_DR_INFO (old_stmt_info)->stmt = new_stmt_info;
+ new_stmt_info->dr_aux = old_stmt_info->dr_aux;
+ STMT_VINFO_DR_WRT_VEC_LOOP (new_stmt_info)
+ = STMT_VINFO_DR_WRT_VEC_LOOP (old_stmt_info);
+ STMT_VINFO_GATHER_SCATTER_P (new_stmt_info)
+ = STMT_VINFO_GATHER_SCATTER_P (old_stmt_info);
+}
+
/* A helper function to free scev and LOOP niter information, as well as
clear loop constraint LOOP_C_FINITE. */