diff options
author | Ju-Zhe Zhong <juzhe.zhong@rivai.ai> | 2023-01-18 11:24:34 +0800 |
---|---|---|
committer | Kito Cheng <kito.cheng@sifive.com> | 2023-01-27 20:31:51 +0800 |
commit | 6b6b9c680bc43c19b24a2e01ddc99f2c061e0511 (patch) | |
tree | 5b6883dbe9b81564a5a051c9181b7c5d7fb0dd4f /gcc/tree-vectorizer.h | |
parent | ffa29648b2fbb1a14c70a33d3b6cd420ba4e9f9d (diff) | |
download | gcc-6b6b9c680bc43c19b24a2e01ddc99f2c061e0511.zip gcc-6b6b9c680bc43c19b24a2e01ddc99f2c061e0511.tar.gz gcc-6b6b9c680bc43c19b24a2e01ddc99f2c061e0511.tar.bz2 |
RISC-V: Finalize VSETVL PASS implementation
gcc/ChangeLog:
* config/riscv/riscv-vsetvl.cc (vsetvl_insn_p): Add condition to avoid ICE.
(vsetvl_discard_result_insn_p): New function.
(reg_killed_by_bb_p): rename to find_reg_killed_by.
(find_reg_killed_by): New name.
(get_vl): allow it to be called by more functions.
(has_vsetvl_killed_avl_p): Add condition.
(get_avl): allow it to be called by more functions.
(insn_should_be_added_p): New function.
(get_all_nonphi_defs): Refine function.
(get_all_sets): Ditto.
(get_same_bb_set): New function.
(any_insn_in_bb_p): Ditto.
(any_set_in_bb_p): Ditto.
(get_vl_vtype_info): Add VLMAX forward optimization.
(source_equal_p): Fix issues.
(extract_single_source): Refine.
(avl_info::multiple_source_equal_p): New function.
(avl_info::operator==): Adjust for final version.
(vl_vtype_info::operator==): Ditto.
(vl_vtype_info::same_avl_p): Ditto.
(vector_insn_info::parse_insn): Ditto.
(vector_insn_info::available_p): New function.
(vector_insn_info::merge): Adjust for final version.
(vector_insn_info::dump): Add hard_empty.
(pass_vsetvl::hard_empty_block_p): New function.
(pass_vsetvl::backward_demand_fusion): Adjust for final version.
(pass_vsetvl::forward_demand_fusion): Ditto.
(pass_vsetvl::demand_fusion): Ditto.
(pass_vsetvl::cleanup_illegal_dirty_blocks): New function.
(pass_vsetvl::compute_local_properties): Adjust for final version.
(pass_vsetvl::can_refine_vsetvl_p): Ditto.
(pass_vsetvl::refine_vsetvls): Ditto.
(pass_vsetvl::commit_vsetvls): Ditto.
(pass_vsetvl::propagate_avl): New function.
(pass_vsetvl::lazy_vsetvl): Adjust for new version.
* config/riscv/riscv-vsetvl.h (enum def_type): New enum.
Diffstat (limited to 'gcc/tree-vectorizer.h')
0 files changed, 0 insertions, 0 deletions