unroll.c (copy_loop_body): Don't make extra copies of NOTE_INSN_LOOP_CONT notes.

* unroll.c (copy_loop_body): Don't make extra copies of
	NOTE_INSN_LOOP_CONT notes.

From-SVN: r25535
This commit is contained in:
J"orn Rennecke 1999-03-02 08:48:09 +00:00 committed by Joern Rennecke
parent 83fdb19109
commit c956720a54
2 changed files with 9 additions and 3 deletions

View File

@ -1,3 +1,8 @@
Tue Mar 2 16:45:31 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
* unroll.c (copy_loop_body): Don't make extra copies of
NOTE_INSN_LOOP_CONT notes.
Tue Mar 2 07:44:56 1999 Mark Mitchell <mark@markmitchell.com>
* tree.c (save_tree_status): Don't treat functions with no context

View File

@ -2127,15 +2127,16 @@ copy_loop_body (copy_start, copy_end, map, exit_label, last_iteration,
break;
case NOTE:
/* VTOP notes are valid only before the loop exit test. If placed
anywhere else, loop may generate bad code. */
/* VTOP and CONT 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
&& ((NOTE_LINE_NUMBER (insn) != NOTE_INSN_LOOP_VTOP
&& NOTE_LINE_NUMBER (insn) != NOTE_INSN_LOOP_CONT)
|| (last_iteration && unroll_type != UNROLL_COMPLETELY)))
copy = emit_note (NOTE_SOURCE_FILE (insn),
NOTE_LINE_NUMBER (insn));