aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vectorizer.h
diff options
context:
space:
mode:
authorJu-Zhe Zhong <juzhe.zhong@rivai.ai>2023-01-18 11:24:34 +0800
committerKito Cheng <kito.cheng@sifive.com>2023-01-27 20:31:51 +0800
commit6b6b9c680bc43c19b24a2e01ddc99f2c061e0511 (patch)
tree5b6883dbe9b81564a5a051c9181b7c5d7fb0dd4f /gcc/tree-vectorizer.h
parentffa29648b2fbb1a14c70a33d3b6cd420ba4e9f9d (diff)
downloadgcc-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