diff options
author | Juzhe-Zhong <juzhe.zhong@rivai.ai> | 2023-04-07 09:34:13 +0800 |
---|---|---|
committer | Kito Cheng <kito.cheng@sifive.com> | 2023-04-21 14:46:03 +0800 |
commit | d51f2456ee51bd59a79b4725ca0e488c25260bbf (patch) | |
tree | 14b2e7fb21a087de5a9bacf45acb526349530342 /gcc/system.h | |
parent | ce4e4f37fd12f4335c25f508f9fa40492a408556 (diff) | |
download | gcc-d51f2456ee51bd59a79b4725ca0e488c25260bbf.zip gcc-d51f2456ee51bd59a79b4725ca0e488c25260bbf.tar.gz gcc-d51f2456ee51bd59a79b4725ca0e488c25260bbf.tar.bz2 |
RISC-V: Add local user vsetvl instruction elimination [PR109547]
This patch is to enhance optimization for auto-vectorization.
Before this patch:
Loop:
vsetvl a5,a2...
vsetvl zero,a5...
vle
After this patch:
Loop:
vsetvl a5,a2
vle
gcc/ChangeLog:
PR target/109547
* config/riscv/riscv-vsetvl.cc (local_eliminate_vsetvl_insn): New function.
(vector_insn_info::skip_avl_compatible_p): Ditto.
(vector_insn_info::merge): Remove default value.
(pass_vsetvl::compute_local_backward_infos): Ditto.
(pass_vsetvl::cleanup_insns): Add local vsetvl elimination.
* config/riscv/riscv-vsetvl.h: Ditto.
gcc/testsuite/ChangeLog:
PR target/109547
* gcc.target/riscv/rvv/vsetvl/pr109547.c: New.
* gcc.target/riscv/rvv/vsetvl/vsetvl-17.c: Update scan
condition.
Diffstat (limited to 'gcc/system.h')
0 files changed, 0 insertions, 0 deletions