aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorKewen Lin <linkw@linux.ibm.com>2023-07-12 21:23:21 -0500
committerKewen Lin <linkw@linux.ibm.com>2023-07-12 23:12:15 -0500
commitbbee29e82881c30c4f23e29db3e40de71cf49789 (patch)
tree1ea7e9fbe0eb3693ec1a059f4cbb4b418ee136b6 /gcc/fortran
parent2115c22617c88fea0470cb87de284de904ed786e (diff)
downloadgcc-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