aboutsummaryrefslogtreecommitdiff
path: root/gcc/gcse.h
diff options
context:
space:
mode:
authorJu-Zhe Zhong <juzhe.zhong@rivai.ai>2023-07-10 16:12:59 +0800
committerPan Li <pan2.li@intel.com>2023-07-10 22:16:50 +0800
commita3ad2301d2f4aab2deeb286fa5bd0282260bfd0a (patch)
tree2a1b393df4089fdefd6c871461cafdffe5484cbc /gcc/gcse.h
parenteca10aaa3954af3dab56eccc208c90273c2b1732 (diff)
downloadgcc-a3ad2301d2f4aab2deeb286fa5bd0282260bfd0a.zip
gcc-a3ad2301d2f4aab2deeb286fa5bd0282260bfd0a.tar.gz
gcc-a3ad2301d2f4aab2deeb286fa5bd0282260bfd0a.tar.bz2
GCSE: Export 'insert_insn_end_basic_block' as global function
Since VSETVL PASS in RISC-V port is using common part of 'insert_insn_end_basic_block (struct gcse_expr *expr, basic_block bb)' and we will also this helper function in riscv.cc for the following patches. So extract the common part codes of 'insert_insn_end_basic_block (struct gcse_expr *expr, basic_block bb)', the new function of the common part is also call 'insert_insn_end_basic_block (rtx_insn *pat, basic_block bb)' but with different arguments. And call 'insert_insn_end_basic_block (rtx_insn *pat, basic_block bb)' in 'insert_insn_end_basic_block (struct gcse_expr *expr, basic_block bb)' and VSETVL PASS in RISC-V port. Remove redundant codes of VSETVL PASS in RISC-V port. gcc/ChangeLog: * config/riscv/riscv-vsetvl.cc (add_label_notes): Remove it. (insert_insn_end_basic_block): Ditto. (pass_vsetvl::commit_vsetvls): Adapt for new helper function. * gcse.cc (insert_insn_end_basic_block): Export as global function. * gcse.h (insert_insn_end_basic_block): Ditto.
Diffstat (limited to 'gcc/gcse.h')
-rw-r--r--gcc/gcse.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/gcse.h b/gcc/gcse.h
index 5582b29..e68afdc 100644
--- a/gcc/gcse.h
+++ b/gcc/gcse.h
@@ -41,5 +41,6 @@ extern struct target_gcse *this_target_gcse;
void gcse_cc_finalize (void);
extern bool gcse_or_cprop_is_too_expensive (const char *);
+extern rtx_insn *insert_insn_end_basic_block (rtx_insn *, basic_block);
#endif