]> git.ipfire.org Git - thirdparty/gcc.git/commit
Refactor vect_supportable_dr_alignment
authorRichard Biener <rguenther@suse.de>
Mon, 18 Oct 2021 13:55:22 +0000 (15:55 +0200)
committerRichard Biener <rguenther@suse.de>
Tue, 19 Oct 2021 14:09:01 +0000 (16:09 +0200)
commit93bd0213885739a1073f8c98911f8a00c0eb5597
tree64e1e20c84b9ed5128131476933af6b6d2234d14
parent5a8832b1659e311437d25b7ec8b078be27ae54b8
Refactor vect_supportable_dr_alignment

This refactors vect_supportable_dr_alignment to get the misalignment
as input parameter which allows us to elide modifying/restoring
of DR_MISALIGNMENT during alignment peeling analysis which eventually
makes it more straight-forward to split out the negative step
handling.

2021-10-19  Richard Biener  <rguenther@suse.de>

* tree-vectorizer.h (vect_supportable_dr_alignment): Add
misalignment parameter.
* tree-vect-data-refs.c (vect_get_peeling_costs_all_drs):
Do not change DR_MISALIGNMENT in place, instead pass the
adjusted misalignment to vect_supportable_dr_alignment.
(vect_peeling_supportable): Likewise.
(vect_peeling_hash_get_lowest_cost): Adjust.
(vect_enhance_data_refs_alignment): Likewise.
(vect_vfa_access_size): Likewise.
(vect_supportable_dr_alignment): Add misalignment
parameter and simplify.
* tree-vect-stmts.c (get_negative_load_store_type): Adjust.
(get_group_load_store_type): Likewise.
(get_load_store_type): Likewise.
gcc/tree-vect-data-refs.c
gcc/tree-vect-stmts.c
gcc/tree-vectorizer.h