diff options
author | Mark Mitchell <mark@codesourcery.com> | 2000-03-19 05:26:48 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2000-03-19 05:26:48 +0000 |
commit | 116eebd67408bc31ca138311c8ac7f4d2389c22f (patch) | |
tree | 7e5085f497fa4f8351b62a15342abb5192c649b0 /gcc/emit-rtl.c | |
parent | cd8ed629642bebaa19a2fe544f0c3efcafe835f2 (diff) | |
download | gcc-116eebd67408bc31ca138311c8ac7f4d2389c22f.zip gcc-116eebd67408bc31ca138311c8ac7f4d2389c22f.tar.gz gcc-116eebd67408bc31ca138311c8ac7f4d2389c22f.tar.bz2 |
emit-rtl.c (remove_unncessary_notes): Check that all NOTE_INSN_BLOCK_BEG and NOTE_INSN_BLOCK_END notes have an...
* emit-rtl.c (remove_unncessary_notes): Check that all
NOTE_INSN_BLOCK_BEG and NOTE_INSN_BLOCK_END notes have an
associated NOTE_BLOCK.
* function.h (identify_blocks): Update comments.
(reorder_blocks): Declare.
* function.c (identify_blocks): Don't take paramters.
(reorder_blocks): Don't take parameters.
* loop.h (find_loop_tree_blocks): Remove.
(unroll_block_trees): Likewise.
* loop.c (loop_optimize): Don't call find_loop_tree_blocks. Use
reorder_blocks instead of unroll_block_trees.h
* sibcall.c (optimize_sibling_and_tail_recursive_calls): Likewise.
* stmt.c (find_loop_tree_blocks): Remove.
(unroll_block_trees): Likewise.
* toplev.c (rest_of_compilation): Don't call find_loop_tree_blocks
in whole-function mode.
* tree.h (reorder_blocks): Remove declaration.
From-SVN: r32632
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r-- | gcc/emit-rtl.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 3d6f73b..764a5ad 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -2667,9 +2667,8 @@ remove_unncessary_notes () rtx insn; rtx next; - /* Remove NOTE_INSN_DELETED notes. We must not remove the first - instruction in the function because the compiler depends on the - first instruction being a note. */ + /* We must not remove the first instruction in the function because + the compiler depends on the first instruction being a note. */ for (insn = NEXT_INSN (get_insns ()); insn; insn = next) { /* Remember what's next. */ @@ -2679,6 +2678,14 @@ remove_unncessary_notes () if (GET_CODE (insn) != NOTE) continue; + /* By now, all notes indicating lexical blocks should have + NOTE_BLOCK filled in. */ + if ((NOTE_LINE_NUMBER (insn) == NOTE_INSN_BLOCK_BEG + || NOTE_LINE_NUMBER (insn) == NOTE_INSN_BLOCK_END) + && NOTE_BLOCK (insn) == NULL_TREE) + abort (); + + /* Remove NOTE_INSN_DELETED notes. */ if (NOTE_LINE_NUMBER (insn) == NOTE_INSN_DELETED) remove_insn (insn); else if (NOTE_LINE_NUMBER (insn) == NOTE_INSN_BLOCK_END) |