diff options
author | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-07-27 17:25:14 +0000 |
---|---|---|
committer | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-07-27 17:25:14 +0000 |
commit | 83458610bef672da35282ed371bfb858f408b290 (patch) | |
tree | f622ad1b9d2f4d839d3052a0f4fc42b6ebf07329 /gcc/flow.c | |
parent | a4dfe15634b61513d076cf07d9fa3e69d5de440a (diff) | |
download | gcc-83458610bef672da35282ed371bfb858f408b290.tar.gz |
Put phi nodes after NOTE_INSN_BASIC_BLOCK.
* rtl.h (NOTE_INSN_BASIC_BLOCK_P): New macro.
* bb-reorder.c (get_next_bb_note): Use NOTE_INSN_BASIC_BLOCK_P.
(get_prev_bb_note): Likewise.
(remove_scope_notes): Likewise.
* flow.c (commit_one_edge_insertion): Likewise.
(merge_blocks_nomove): Likewise.
(verify_flow_info): Likewise.
* gcse.c (insert_insn_end_bb): Likewise.
* reg-stack.c (emit_swap_insn): Likewise.
* ssa.c (first_insn_after_basic_block_note): New function.
(insert_phi_node): Use it.
(rename_block): Likewise.
(eliminate_phi): Likewise.
(make_regs_equivalent_over_bad_edges): Likewise.
(make_equivalent_phi_alternatives_equivalent): Likewise.
(for_each_successor_phi): Likewise.
(convert_from_ssa): Modify phi-node deletion algorithm.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35296 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/flow.c')
-rw-r--r-- | gcc/flow.c | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/gcc/flow.c b/gcc/flow.c index 7bebfa80340..a8f6061aedf 100644 --- a/gcc/flow.c +++ b/gcc/flow.c @@ -1673,8 +1673,7 @@ commit_one_edge_insertion (e) tmp = bb->head; if (GET_CODE (tmp) == CODE_LABEL) tmp = NEXT_INSN (tmp); - if (GET_CODE (tmp) == NOTE - && NOTE_LINE_NUMBER (tmp) == NOTE_INSN_BASIC_BLOCK) + if (NOTE_INSN_BASIC_BLOCK_P (tmp)) tmp = NEXT_INSN (tmp); if (tmp == bb->head) before = tmp; @@ -2164,8 +2163,7 @@ merge_blocks_nomove (a, b) } /* Delete the basic block note. */ - if (GET_CODE (b_head) == NOTE - && NOTE_LINE_NUMBER (b_head) == NOTE_INSN_BASIC_BLOCK) + if (NOTE_INSN_BASIC_BLOCK_P (b_head)) { if (b_head == b_end) b_empty = 1; @@ -6471,9 +6469,7 @@ verify_flow_info () } x = NEXT_INSN (x); } - if (GET_CODE (x) != NOTE - || NOTE_LINE_NUMBER (x) != NOTE_INSN_BASIC_BLOCK - || NOTE_BASIC_BLOCK (x) != bb) + if (!NOTE_INSN_BASIC_BLOCK_P (x) || NOTE_BASIC_BLOCK (x) != bb) { error ("NOTE_INSN_BASIC_BLOCK is missing for block %d\n", bb->index); @@ -6489,8 +6485,7 @@ verify_flow_info () x = NEXT_INSN (x); while (x) { - if (GET_CODE (x) == NOTE - && NOTE_LINE_NUMBER (x) == NOTE_INSN_BASIC_BLOCK) + if (NOTE_INSN_BASIC_BLOCK_P (x)) { error ("NOTE_INSN_BASIC_BLOCK %d in the middle of basic block %d", INSN_UID (x), bb->index); @@ -6518,8 +6513,7 @@ verify_flow_info () x = rtx_first; while (x) { - if (GET_CODE (x) == NOTE - && NOTE_LINE_NUMBER (x) == NOTE_INSN_BASIC_BLOCK) + if (NOTE_INSN_BASIC_BLOCK_P (x)) { basic_block bb = NOTE_BASIC_BLOCK (x); num_bb_notes++; |