diff options
author | amonakov <amonakov@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-01-14 10:28:47 +0000 |
---|---|---|
committer | amonakov <amonakov@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-01-14 10:28:47 +0000 |
commit | 93919afc48209d7787b7a99a5c89c7a3768c034b (patch) | |
tree | 58d8950f43c2356fc70a2c8f766cbde3b179e266 /gcc/sel-sched-ir.h | |
parent | 28abb7ee5500ae6ca0959a7cce3dc46b760adb2a (diff) | |
download | gcc-93919afc48209d7787b7a99a5c89c7a3768c034b.tar.gz |
2010-01-14 Andrey Belevantsev <abel@ispras.ru>
Alexander Monakov <amonakov@ispras.ru>
PR middle-end/42245
* sel-sched-ir.c (sel_recompute_toporder): New. Use it...
(maybe_tidy_empty_bb): ... here. Make static. Add new
argument. Update all callers.
(tidy_control_flow): ... and here. Recompute topological order
of basic blocks in region if necessary.
(sel_redirect_edge_and_branch): Change return type. Return true
if topological order might have been invalidated.
(purge_empty_blocks): Export and move from...
* sel-sched.c (purge_empty_blocks): ... here.
* sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
(maybe_tidy_empty_bb): Delete prototype.
(purge_empty_blocks): Declare.
* gcc.dg/pr42245.c: New.
* gcc.dg/pr42245-2.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155890 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/sel-sched-ir.h')
-rw-r--r-- | gcc/sel-sched-ir.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/sel-sched-ir.h b/gcc/sel-sched-ir.h index 1950a65e77f..db2989b6111 100644 --- a/gcc/sel-sched-ir.h +++ b/gcc/sel-sched-ir.h @@ -1613,11 +1613,11 @@ extern bool tidy_control_flow (basic_block, bool); extern void free_bb_note_pool (void); extern void sel_remove_empty_bb (basic_block, bool, bool); -extern bool maybe_tidy_empty_bb (basic_block bb); +extern void purge_empty_blocks (void); extern basic_block sel_split_edge (edge); extern basic_block sel_create_recovery_block (insn_t); extern void sel_merge_blocks (basic_block, basic_block); -extern void sel_redirect_edge_and_branch (edge, basic_block); +extern bool sel_redirect_edge_and_branch (edge, basic_block); extern void sel_redirect_edge_and_branch_force (edge, basic_block); extern void sel_init_pipelining (void); extern void sel_finish_pipelining (void); |