diff options
author | Richard Henderson <rth@cygnus.com> | 1999-02-25 15:45:42 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 1999-02-25 15:45:42 -0800 |
commit | e881bb1b1b60bca2b51088b8c6946feb96b0047f (patch) | |
tree | 5f11cf1c6b61122849435f2ab564e45e67595e64 /gcc/unroll.c | |
parent | 001e880a269a8b586ee074918b6707edb190ea7c (diff) | |
download | gcc-e881bb1b1b60bca2b51088b8c6946feb96b0047f.zip gcc-e881bb1b1b60bca2b51088b8c6946feb96b0047f.tar.gz gcc-e881bb1b1b60bca2b51088b8c6946feb96b0047f.tar.bz2 |
Flow rewrite to use basic block structures and edge lists.
From-SVN: r25450
Diffstat (limited to 'gcc/unroll.c')
-rw-r--r-- | gcc/unroll.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/unroll.c b/gcc/unroll.c index 7953416..28c3e7b 100644 --- a/gcc/unroll.c +++ b/gcc/unroll.c @@ -2129,8 +2129,12 @@ copy_loop_body (copy_start, copy_end, map, exit_label, last_iteration, case NOTE: /* VTOP notes are valid only before the loop exit test. If placed anywhere else, loop may generate bad code. */ + /* BASIC_BLOCK notes exist to stabilize basic block structures with + the associated rtl. We do not want to share the structure in + this new block. */ if (NOTE_LINE_NUMBER (insn) != NOTE_INSN_DELETED + && NOTE_LINE_NUMBER (insn) != NOTE_INSN_BASIC_BLOCK && (NOTE_LINE_NUMBER (insn) != NOTE_INSN_LOOP_VTOP || (last_iteration && unroll_type != UNROLL_COMPLETELY))) copy = emit_note (NOTE_SOURCE_FILE (insn), @@ -2175,7 +2179,8 @@ copy_loop_body (copy_start, copy_end, map, exit_label, last_iteration, for (insn = copy_notes_from; insn != loop_end; insn = NEXT_INSN (insn)) { if (GET_CODE (insn) == NOTE - && NOTE_LINE_NUMBER (insn) != NOTE_INSN_DELETED) + && NOTE_LINE_NUMBER (insn) != NOTE_INSN_DELETED + && NOTE_LINE_NUMBER (insn) != NOTE_INSN_BASIC_BLOCK) emit_note (NOTE_SOURCE_FILE (insn), NOTE_LINE_NUMBER (insn)); } } |