[gcc r12-3619] Revert no longer needed fix for PR95539
Richard Biener
rguenth@gcc.gnu.org
Fri Sep 17 11:51:23 GMT 2021
https://gcc.gnu.org/g:4703182a06b831a9f47a5f8198e86042cadd938d
commit r12-3619-g4703182a06b831a9f47a5f8198e86042cadd938d
Author: Richard Biener <rguenther@suse.de>
Date: Fri Sep 17 12:48:09 2021 +0200
Revert no longer needed fix for PR95539
The workaround is no longer necessary since we maintain alignment
info on the DR group leader only.
2021-09-17 Richard Biener <rguenther@suse.de>
* tree-vect-stmts.c (vectorizable_load): Do not frob
stmt_info for SLP.
Diff:
---
gcc/tree-vect-stmts.c | 13 +------------
1 file changed, 1 insertion(+), 12 deletions(-)
diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c
index 4e0b2adf1dc..ce79d883dbf 100644
--- a/gcc/tree-vect-stmts.c
+++ b/gcc/tree-vect-stmts.c
@@ -8515,17 +8515,6 @@ vectorizable_load (vec_info *vinfo,
if (!STMT_VINFO_DATA_REF (stmt_info))
return false;
- /* ??? Alignment analysis for SLP looks at SLP_TREE_SCALAR_STMTS[0]
- for unpermuted loads but we get passed SLP_TREE_REPRESENTATIVE
- which can be different when reduction chains were re-ordered.
- Now that we figured we're a dataref reset stmt_info back to
- SLP_TREE_SCALAR_STMTS[0]. When we're SLP only things should be
- refactored in a way to maintain the dr_vec_info pointer for the
- relevant access explicitely. */
- stmt_vec_info orig_stmt_info = stmt_info;
- if (slp_node)
- stmt_info = SLP_TREE_SCALAR_STMTS (slp_node)[0];
-
tree mask = NULL_TREE, mask_vectype = NULL_TREE;
if (gassign *assign = dyn_cast <gassign *> (stmt_info->stmt))
{
@@ -8768,7 +8757,7 @@ vectorizable_load (vec_info *vinfo,
dump_printf_loc (MSG_NOTE, vect_location,
"Vectorizing an unaligned access.\n");
- STMT_VINFO_TYPE (orig_stmt_info) = load_vec_info_type;
+ STMT_VINFO_TYPE (stmt_info) = load_vec_info_type;
vect_model_load_cost (vinfo, stmt_info, ncopies, vf, memory_access_type,
&gs_info, slp_node, cost_vec);
return true;
More information about the Gcc-cvs
mailing list