aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vectorizer.h
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2021-11-08 09:08:12 +0100
committerRichard Biener <rguenther@suse.de>2021-11-08 09:09:39 +0100
commit51152076338bc60b8bda8f061be2db97ea5b78de (patch)
tree070deabeb6ae8aac4508eca1f487af00f916d57d /gcc/tree-vectorizer.h
parent1f3a33633dd06a8e4861180ab20c9136361c69e6 (diff)
downloadgcc-51152076338bc60b8bda8f061be2db97ea5b78de.zip
gcc-51152076338bc60b8bda8f061be2db97ea5b78de.tar.gz
gcc-51152076338bc60b8bda8f061be2db97ea5b78de.tar.bz2
tree-optimization/103102 - fix error in vectorizer refactoring
This fixes an oversight that caused vectorized epilogues to have versioning for niters applied. 2021-11-08 Richard Biener <rguenther@suse.de> * tree-vectorizer.h (vect_create_loop_vinfo): Add main_loop_info parameter. * tree-vect-loop.c (vect_create_loop_vinfo): Likewise. Set LOOP_VINFO_ORIG_LOOP_INFO and conditionalize set of LOOP_VINFO_NITERS_ASSUMPTIONS. (vect_analyze_loop_1): Adjust. (vect_analyze_loop): Move loop constraint setting and SCEV/niter reset here from vect_create_loop_vinfo to perform it only once. (vect_analyze_loop_form): Move dumping of symbolic niters here from vect_create_loop_vinfo.
Diffstat (limited to 'gcc/tree-vectorizer.h')
-rw-r--r--gcc/tree-vectorizer.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h
index 7d3d393..b552e9d 100644
--- a/gcc/tree-vectorizer.h
+++ b/gcc/tree-vectorizer.h
@@ -2160,7 +2160,8 @@ struct vect_loop_form_info
};
extern opt_result vect_analyze_loop_form (class loop *, vect_loop_form_info *);
extern loop_vec_info vect_create_loop_vinfo (class loop *, vec_info_shared *,
- const vect_loop_form_info *);
+ const vect_loop_form_info *,
+ loop_vec_info = nullptr);
extern bool vectorizable_live_operation (vec_info *,
stmt_vec_info, gimple_stmt_iterator *,
slp_tree, slp_instance, int,