aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-openmp.cc
diff options
context:
space:
mode:
authorJu-Zhe Zhong <juzhe.zhong@rivai.ai>2023-01-10 07:29:11 +0800
committerKito Cheng <kito.cheng@sifive.com>2023-01-27 03:10:16 +0800
commit4f673c5ee287d73262ad9c1d59ca4d6db3809eef (patch)
treeaddc9f7a143c3e2ad178de7a962613899bd4ee18 /gcc/fortran/trans-openmp.cc
parentacc10c793127d5683b19158fd89fd0d4f4fc9db0 (diff)
downloadgcc-4f673c5ee287d73262ad9c1d59ca4d6db3809eef.zip
gcc-4f673c5ee287d73262ad9c1d59ca4d6db3809eef.tar.gz
gcc-4f673c5ee287d73262ad9c1d59ca4d6db3809eef.tar.bz2
RISC-V: Fix bugs of supporting AVL=REG (single-real-def) in VSETVL PASS
gcc/ChangeLog: * config/riscv/riscv-vsetvl.cc (same_bb_and_before_p): Remove it. (real_insn_and_same_bb_p): New function. (same_bb_and_after_or_equal_p): Remove it. (before_p): New function. (reg_killed_by_bb_p): Ditto. (has_vsetvl_killed_avl_p): Ditto. (get_vl): Move location so that we can call it. (anticipatable_occurrence_p): Fix issue of AVL=REG support. (available_occurrence_p): Ditto. (dominate_probability_p): Remove it. (can_backward_propagate_p): Remove it. (get_all_nonphi_defs): New function. (get_all_predecessors): Ditto. (any_insn_in_bb_p): Ditto. (insert_vsetvl): Adjust AVL REG. (source_equal_p): New function. (extract_single_source): Ditto. (avl_info::single_source_equal_p): Ditto. (avl_info::operator==): Adjust for AVL=REG. (vl_vtype_info::same_avl_p): Ditto. (vector_insn_info::set_demand_info): Remove it. (vector_insn_info::compatible_p): Adjust for AVL=REG. (vector_insn_info::compatible_avl_p): New function. (vector_insn_info::merge): Adjust AVL=REG. (vector_insn_info::dump): Ditto. (pass_vsetvl::merge_successors): Remove it. (enum fusion_type): New enum. (pass_vsetvl::get_backward_fusion_type): New function. (pass_vsetvl::backward_demand_fusion): Adjust for AVL=REG. (pass_vsetvl::forward_demand_fusion): Ditto. (pass_vsetvl::demand_fusion): Ditto. (pass_vsetvl::prune_expressions): Ditto. (pass_vsetvl::compute_local_properties): Ditto. (pass_vsetvl::cleanup_vsetvls): Ditto. (pass_vsetvl::commit_vsetvls): Ditto. (pass_vsetvl::init): Ditto. * config/riscv/riscv-vsetvl.h (enum fusion_type): New enum. (enum merge_type): New enum.
Diffstat (limited to 'gcc/fortran/trans-openmp.cc')
0 files changed, 0 insertions, 0 deletions