diff options
author | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-11-02 16:37:23 +0000 |
---|---|---|
committer | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-11-02 16:37:23 +0000 |
commit | b21ba4419de17bec7700e7f5f62005c6328f9212 (patch) | |
tree | c2d3e87bda7c4504bd6e24dc9dd801f9f58ac597 /gcc/unroll.c | |
parent | 1a9f2d1f6783c0ab6b70378204080ec0413a4fac (diff) | |
download | gcc-b21ba4419de17bec7700e7f5f62005c6328f9212.tar.gz |
* jump.c (jump_optimize_1): Swap the incscc and the conditional mode
detection code
* unroll.c (unroll_loop): Remove LOOP notes when loop is
completely unrolled.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30352 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/unroll.c')
-rw-r--r-- | gcc/unroll.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/unroll.c b/gcc/unroll.c index feda6e272da..fac8873caef 100644 --- a/gcc/unroll.c +++ b/gcc/unroll.c @@ -354,6 +354,17 @@ unroll_loop (loop_end, insn_count, loop_start, end_insert_before, delete_insn (prev); #endif } + + /* Remove the loop notes since this is no longer a loop. */ + if (loop_info->vtop) + delete_insn (loop_info->vtop); + if (loop_info->cont) + delete_insn (loop_info->cont); + if (loop_start) + delete_insn (loop_start); + if (loop_end) + delete_insn (loop_end); + return; } else if (loop_info->n_iterations > 0 @@ -1282,6 +1293,19 @@ unroll_loop (loop_end, insn_count, loop_start, end_insert_before, emit_label_after (exit_label, loop_end); egress: + if (unroll_type == UNROLL_COMPLETELY) + { + /* Remove the loop notes since this is no longer a loop. */ + if (loop_info->vtop) + delete_insn (loop_info->vtop); + if (loop_info->cont) + delete_insn (loop_info->cont); + if (loop_start) + delete_insn (loop_start); + if (loop_end) + delete_insn (loop_end); + } + if (map->const_equiv_varray) VARRAY_FREE (map->const_equiv_varray); if (map->label_map) |