]> git.ipfire.org Git - thirdparty/gcc.git/commit
Do less redundant vect_transform_slp_perm_load calls
authorRichard Biener <rguenther@suse.de>
Fri, 12 Sep 2025 11:20:46 +0000 (13:20 +0200)
committerRichard Biener <rguenther@suse.de>
Sun, 14 Sep 2025 09:05:42 +0000 (11:05 +0200)
commit80f9440b5ecb1c3ab943b5c862f84e06fbeabd89
tree404f6480b0062e219276e38d129d0e5704a80e91
parent1744dc23b311907d04edf312a3dbafa2e4f6e6a2
Do less redundant vect_transform_slp_perm_load calls

The following tries to do vect_transform_slp_perm_load exactly
once during analysis and once during transform.  There's a 2nd
case left during analysis in get_load_store_type.  Temporarily
this records n_perms in the load-store info and verifies that
against the value computed at transform stage.

* tree-vectorizer.h (vect_load_store_data::n_perms): New.
* tree-vect-stmts.cc (vectorizable_load): Analyze
SLP_TREE_LOAD_PERMUTATION only once and remember n_perms.
Verify the transform-time n_perms against the value stored
during analysis.
gcc/tree-vect-stmts.cc
gcc/tree-vectorizer.h