aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2024-10-31 12:58:02 +0100
committerRichard Biener <rguenth@gcc.gnu.org>2024-11-04 12:24:42 +0100
commit2e6d9e9f4a0db49376b1435bb6b9c5ac1badf13d (patch)
tree97a67d1a5f662890053fe5520cfa5b5f855ca7a1
parent223da6ac40cdd425ae16b787e2ca758ea665b75f (diff)
downloadgcc-2e6d9e9f4a0db49376b1435bb6b9c5ac1badf13d.zip
gcc-2e6d9e9f4a0db49376b1435bb6b9c5ac1badf13d.tar.gz
gcc-2e6d9e9f4a0db49376b1435bb6b9c5ac1badf13d.tar.bz2
Move vect_update_inits_of_drs
Move vect_update_inits_of_drs to after setting up the epilog metadata. * tree-vect-loop.cc (update_epilogue_loop_vinfo): Update DR inits after adjusting the epilog metadata.
-rw-r--r--gcc/tree-vect-loop.cc9
1 files changed, 4 insertions, 5 deletions
diff --git a/gcc/tree-vect-loop.cc b/gcc/tree-vect-loop.cc
index dd18ec9..e6d2414 100644
--- a/gcc/tree-vect-loop.cc
+++ b/gcc/tree-vect-loop.cc
@@ -12166,11 +12166,6 @@ update_epilogue_loop_vinfo (class loop *epilogue, tree advance)
LOOP_VINFO_BBS (epilogue_vinfo) = epilogue_bbs;
LOOP_VINFO_NBBS (epilogue_vinfo) = epilogue->num_nodes;
- /* Advance data_reference's with the number of iterations of the previous
- loop and its prologue. */
- vect_update_inits_of_drs (epilogue_vinfo, advance, PLUS_EXPR);
-
-
/* The EPILOGUE loop is a copy of the original loop so they share the same
gimple UIDs. In this loop we update the loop_vec_info of the EPILOGUE to
point to the copied statements. We also create a mapping of all LHS' in
@@ -12293,6 +12288,10 @@ update_epilogue_loop_vinfo (class loop *epilogue, tree advance)
DR_STMT (dr) = STMT_VINFO_STMT (stmt_vinfo);
}
+ /* Advance data_reference's with the number of iterations of the previous
+ loop and its prologue. */
+ vect_update_inits_of_drs (epilogue_vinfo, advance, PLUS_EXPR);
+
epilogue_vinfo->shared->datarefs_copy.release ();
epilogue_vinfo->shared->save_datarefs ();
}