https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109547
--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-13 branch has been updated by Kito Cheng <k...@gcc.gnu.org>: https://gcc.gnu.org/g:98fc9d38db95b3396a8540accc1bc45e71080650 commit r13-7386-g98fc9d38db95b3396a8540accc1bc45e71080650 Author: Juzhe-Zhong <juzhe.zh...@rivai.ai> Date: Fri Apr 7 09:34:13 2023 +0800 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. (cherry picked from commit d51f2456ee51bd59a79b4725ca0e488c25260bbf)