diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2011-04-07 21:11:51 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2011-04-07 21:11:51 +0000 |
commit | cf103ca449e8f5e38f42b107b3271b18c73c59a5 (patch) | |
tree | 145e2606d4e9bb3d9ec4665487247f62c68485dd /gcc/cfghooks.h | |
parent | df9292840d1a59a7eee79d70fb38bafabd6049fa (diff) |
basic-block.h (force_nonfallthru): Move to...
* basic-block.h (force_nonfallthru): Move to...
* cfghooks.h (struct cfg_hooks): Add force_nonfallthru hook.
(force_nonfallthru): ...here.
* cfghooks.c (force_nonfallthru): New function.
* cfgrtl.c (force_nonfallthru): Rename into...
(rtl_force_nonfallthru): ...this.
(commit_one_edge_insertion): Do not set AUX field.
(commit_edge_insertions): Do not discover new basic blocks.
(rtl_cfg_hooks): Add rtl_force_nonfallthru.
(cfg_layout_rtl_cfg_hooks): Likewise.
* function.c (thread_prologue_and_epilogue_insns): Remove bogus
ATTRIBUTE_UNUSED. Discover new basic blocks in the prologue insns.
* tree-cfg.c (gimple_cfg_hooks): Add NULL for force_nonfallthru.
From-SVN: r172128
Diffstat (limited to 'gcc/cfghooks.h')
-rw-r--r-- | gcc/cfghooks.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/cfghooks.h b/gcc/cfghooks.h index 574176805e2..9fd81acb0d3 100644 --- a/gcc/cfghooks.h +++ b/gcc/cfghooks.h @@ -85,9 +85,12 @@ struct cfg_hooks basic_block (*split_edge) (edge); void (*make_forwarder_block) (edge); - /* Tries to make the edge fallthru. */ + /* Try to make the edge fallthru. */ void (*tidy_fallthru_edge) (edge); + /* Make the edge non-fallthru. */ + basic_block (*force_nonfallthru) (edge); + /* Say whether a block ends with a call, possibly followed by some other code that must stay with the call. */ bool (*block_ends_with_call_p) (basic_block); @@ -156,6 +159,7 @@ extern bool can_merge_blocks_p (basic_block, basic_block); extern void merge_blocks (basic_block, basic_block); extern edge make_forwarder_block (basic_block, bool (*)(edge), void (*) (basic_block)); +extern basic_block force_nonfallthru (edge); extern void tidy_fallthru_edge (edge); extern void tidy_fallthru_edges (void); extern void predict_edge (edge e, enum br_predictor predictor, int probability); |