diff options
author | froydnj <froydnj@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-10-21 02:33:33 +0000 |
---|---|---|
committer | froydnj <froydnj@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-10-21 02:33:33 +0000 |
commit | 7f58c05e4e42df3520eeb59de85577f4b4ee90f8 (patch) | |
tree | 46c04a0ca71f226e6c7a15bdb22ae8bb69768800 /gcc/haifa-sched.c | |
parent | 73d723bfb0b24f5aedcb668c953616a45d75e9f2 (diff) | |
download | gcc-7f58c05e4e42df3520eeb59de85577f4b4ee90f8.tar.gz |
* basic-block.h (find_fallthru_edge): Define.
* cfgcleanup.c (merge_blocks_move): Use it.
(try_crossjump_bb): Likewise.
* cfglayout.c (fixup_reorder_chains): Likewise.
(fixup_fallthru_exit_predecessor): Likewise.
* cfgrtl.c (rtl_split_edge): Likewise.
(rtl_verify_flow_info): Likewise.
* function.c (thread_prologue_and_epilogue_insns): Likewise.
* gimple-pretty-print.c (dump_implicit_edges): Likewise.
* ifcvt.c (block_fallthru): Likewise.
* reload1.c (fixup_abnormal_edges): Likewise.
* sched-ebb.c (being_schedule_ready): Likewise.
(schedule_ebb): Likwise.
* sched-rgn.c (find_single_block_region): Likewise.
* sel-sched-ir.c (bb_ends_ebb_p): Likewise.
* tree-complex.c (expand_complex_move): Likewise.
* sched-int.h (find_fallthru_edge): Rename to...
(find_fallthru_edge_from): ...this.
* haifa-sched.c (find_fallthru_edge): Rename to...
(find_fallthru_edge_from): ...this. Use new find_fallthru_edge.
(init_before_recovery): Call find_fallthru_edge_from.
* sel-sched-ir.c (merge_fences): Likewise.
* sel-sched.c (in_fallthru_bb_p): Likewise.
(move_cond_jump): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165748 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/haifa-sched.c')
-rw-r--r-- | gcc/haifa-sched.c | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c index 5b5459f7cae..015f8b9d557 100644 --- a/gcc/haifa-sched.c +++ b/gcc/haifa-sched.c @@ -4247,10 +4247,9 @@ xrecalloc (void *p, size_t new_nmemb, size_t old_nmemb, size_t size) /* Helper function. Find fallthru edge from PRED. */ edge -find_fallthru_edge (basic_block pred) +find_fallthru_edge_from (basic_block pred) { edge e; - edge_iterator ei; basic_block succ; succ = pred->next_bb; @@ -4258,21 +4257,23 @@ find_fallthru_edge (basic_block pred) if (EDGE_COUNT (pred->succs) <= EDGE_COUNT (succ->preds)) { - FOR_EACH_EDGE (e, ei, pred->succs) - if (e->flags & EDGE_FALLTHRU) - { - gcc_assert (e->dest == succ); - return e; - } + e = find_fallthru_edge (pred->succs); + + if (e) + { + gcc_assert (e->dest == succ); + return e; + } } else { - FOR_EACH_EDGE (e, ei, succ->preds) - if (e->flags & EDGE_FALLTHRU) - { - gcc_assert (e->src == pred); - return e; - } + e = find_fallthru_edge (succ->preds); + + if (e) + { + gcc_assert (e->src == pred); + return e; + } } return NULL; @@ -4314,7 +4315,7 @@ init_before_recovery (basic_block *before_recovery_ptr) edge e; last = EXIT_BLOCK_PTR->prev_bb; - e = find_fallthru_edge (last); + e = find_fallthru_edge_from (last); if (e) { |