diff options
author | Kewen Lin <linkw@linux.ibm.com> | 2023-07-12 21:23:21 -0500 |
---|---|---|
committer | Kewen Lin <linkw@linux.ibm.com> | 2023-07-12 23:12:15 -0500 |
commit | bbee29e82881c30c4f23e29db3e40de71cf49789 (patch) | |
tree | 1ea7e9fbe0eb3693ec1a059f4cbb4b418ee136b6 /gcc/fortran | |
parent | 2115c22617c88fea0470cb87de284de904ed786e (diff) | |
download | gcc-bbee29e82881c30c4f23e29db3e40de71cf49789.zip gcc-bbee29e82881c30c4f23e29db3e40de71cf49789.tar.gz gcc-bbee29e82881c30c4f23e29db3e40de71cf49789.tar.bz2 |
vect: Adjust vectorizable_load costing on VMAT_INVARIANT
This patch adjusts the cost handling on VMAT_INVARIANT in
function vectorizable_load. We don't call function
vect_model_load_cost for it any more.
To make the costing on VMAT_INVARIANT better, this patch is
to query hoist_defs_of_uses for hoisting decision, and add
costs for different "where" based on it. Currently function
hoist_defs_of_uses would always hoist the defs of all SSA
uses, adding one argument HOIST_P aims to avoid the actual
hoisting during costing phase.
gcc/ChangeLog:
* tree-vect-stmts.cc (hoist_defs_of_uses): Add one argument HOIST_P.
(vectorizable_load): Adjust the handling on VMAT_INVARIANT to respect
hoisting decision and without calling vect_model_load_cost.
(vect_model_load_cost): Assert it won't get VMAT_INVARIANT any more
and remove VMAT_INVARIANT related handlings.
Diffstat (limited to 'gcc/fortran')
0 files changed, 0 insertions, 0 deletions