aboutsummaryrefslogtreecommitdiff
path: root/gcc/basic-block.h
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2001-07-22 23:42:35 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2001-07-22 21:42:35 +0000
commit6b24c25948265c30431460146bc6f43ee9a34c23 (patch)
tree27b2cf8174b04c2db114b181f4e7c30ca578775e /gcc/basic-block.h
parent544f03b403827808cb0ee9e061979f891b777f3b (diff)
downloadgcc-6b24c25948265c30431460146bc6f43ee9a34c23.zip
gcc-6b24c25948265c30431460146bc6f43ee9a34c23.tar.gz
gcc-6b24c25948265c30431460146bc6f43ee9a34c23.tar.bz2
basic-block.h (redirect_edge_and_branch_force, [...]): Declare.
* basic-block.h (redirect_edge_and_branch_force, redirect_edge_and_branch, block_label, forwarder_block_p): Declare. * flow.c (redirect_edge_and_branch_force, redirect_edge_and_branch, block_label, forwarder_block_p): Make global. (redirect_edge_and_branch_force): Fix copying of lifeness information. (block_label): Handle EXIT_BLOCK_PTR by returning NULL. * ifcvt.c (dead_or_predictable): Take BB as an new destionation instead of label; update CFG after transformation. (find_if_case_1): Update call, use redirect_edge_and_branch_force for finishing the transformation; handle even case where ELSE does not follow THEN. (find_if_case_2): Update call of dead_or_predictable; simplify CFG update. * emit-rtl.c (split_branch_probability): New global variable. (try_split): Take care to set split_branch_probability and create REG_BR_PROB note for new jump insns. * md.texi (define_split): Document new feature. * i386.c (ix86_split_fp_branch): Redistribute branch probability notes. From-SVN: r44249
Diffstat (limited to 'gcc/basic-block.h')
-rw-r--r--gcc/basic-block.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/basic-block.h b/gcc/basic-block.h
index 5b210fb..6a6039e 100644
--- a/gcc/basic-block.h
+++ b/gcc/basic-block.h
@@ -597,6 +597,11 @@ extern void debug_regset PARAMS ((regset));
extern void allocate_reg_life_data PARAMS ((void));
extern void allocate_bb_life_data PARAMS ((void));
extern void find_unreachable_blocks PARAMS ((void));
+extern basic_block redirect_edge_and_branch_force PARAMS ((edge, basic_block));
+extern bool redirect_edge_and_branch PARAMS ((edge, basic_block));
+extern rtx block_label PARAMS ((basic_block));
+extern bool forwarder_block_p PARAMS ((basic_block));
+
/* This function is always defined so it can be called from the
debugger, and it is declared extern so we don't get warnings about