diff options
| author | Pan Li <pan2.li@intel.com> | 2026-02-04 10:13:38 +0800 |
|---|---|---|
| committer | Pan Li <pan2.li@intel.com> | 2026-02-05 09:23:25 +0800 |
| commit | 166da15d1fec719949ac7f1343819d505bf5a24e (patch) | |
| tree | cfc6c1bd822cce1ab54cf9627ce500a0b644c1a0 /libjava/gnu/java | |
| parent | 2c762cd8892a375e10b818fede9173b024db544b (diff) | |
| download | gcc-166da15d1fec719949ac7f1343819d505bf5a24e.zip gcc-166da15d1fec719949ac7f1343819d505bf5a24e.tar.gz gcc-166da15d1fec719949ac7f1343819d505bf5a24e.tar.bz2 | |
RISC-V: Introduce vr2gpr-cost= for customizing the cost when vr2gpr
The middle-end pass NULL_TREE in previous, and then skip the
adjust_stmt_cost step which has count the cost of vr2gpr.
After Richard introduced more like slp_node with its vectype for
recording the cost, the adjust_stmt_cost will be hit and plus
the cost of vr2gpr now.
And then fail to vectorize due to cost value of vr2gpr is counted.
This PATCH would like to introduce another param named vr2gpr-cost,
to allow the cmdline provide the cost value of vr2gpr. Then we can
leverage the this param to make the failed test happy.
For further enhancement of the cost value customization, we would
like to defer to next stage-1, aka GCC-17.
PR/target 123916
gcc/ChangeLog:
* config/riscv/riscv-opts.h (GPR2VR_COST_UNPROVIDED): Depend on
default unprovided value.
(FPR2VR_COST_UNPROVIDED): Ditto.
(VR2GPR_COST_UNPROVIDED): Ditto.
(COST_UNPROVIDED): Add new default unprovided value.
* config/riscv/riscv-protos.h (get_vr2gr_cost): Add new func
decl.
* config/riscv/riscv-vector-costs.cc (costs::adjust_stmt_cost):
Leverage new func to get cost of vr2gpr.
* config/riscv/riscv.cc (riscv_register_move_cost): Ditto.
(get_vr2gr_cost): Add new func to wrap access to the cost
of the vr2gpr.
* config/riscv/riscv.opt: Add new param vr2gpr-cost.
Signed-off-by: Pan Li <pan2.li@intel.com>
Diffstat (limited to 'libjava/gnu/java')
0 files changed, 0 insertions, 0 deletions
