aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorJuzhe-Zhong <juzhe.zhong@rivai.ai>2023-12-13 13:48:11 +0800
committerPan Li <pan2.li@intel.com>2023-12-13 20:01:31 +0800
commitef21ae5c45f3b79a36fadc1cb5723c095e2965ad (patch)
treefa5c9553bb50ee52d653ccf987a03504dd80981e /gcc/fortran
parent90be333ad515b6126ce6dfe37aff6eb6b442b4ed (diff)
downloadgcc-ef21ae5c45f3b79a36fadc1cb5723c095e2965ad.zip
gcc-ef21ae5c45f3b79a36fadc1cb5723c095e2965ad.tar.gz
gcc-ef21ae5c45f3b79a36fadc1cb5723c095e2965ad.tar.bz2
RISC-V: Postpone full available optimization [VSETVL PASS]
Fix VSETVL BUG that AVL is polluted .L15: li a3,9 lui a4,%hi(s) sw a3,%lo(j)(t2) sh a5,%lo(s)(a4) <--a4 is hold the address of s beq t0,zero,.L42 sw t5,8(t4) vsetvli zero,a4,e8,m8,ta,ma <<--- a4 as avl Actually, this vsetvl is redundant. The root cause we include full available optimization in LCM local data computation. full available optimization should be after LCM computation. PR target/112929 PR target/112988 gcc/ChangeLog: * config/riscv/riscv-vsetvl.cc (pre_vsetvl::compute_lcm_local_properties): Remove full available. (pre_vsetvl::pre_global_vsetvl_info): Add full available optimization. gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/vsetvl/pr112929.c: New test. * gcc.target/riscv/rvv/vsetvl/pr112988.c: New test.
Diffstat (limited to 'gcc/fortran')
0 files changed, 0 insertions, 0 deletions