diff options
author | Jan Hubicka <hubicka@freesoft.cz> | 1999-11-02 17:37:23 +0100 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1999-11-02 09:37:23 -0700 |
commit | f5da5c8714390bc8571d7f3fb6acf956920d0f19 (patch) | |
tree | c2d3e87bda7c4504bd6e24dc9dd801f9f58ac597 /gcc/unroll.c | |
parent | c3dfacf03a2092fa3cfc485e7a7bdd10804dd543 (diff) | |
download | gcc-f5da5c8714390bc8571d7f3fb6acf956920d0f19.zip gcc-f5da5c8714390bc8571d7f3fb6acf956920d0f19.tar.gz gcc-f5da5c8714390bc8571d7f3fb6acf956920d0f19.tar.bz2 |
jump.c (jump_optimize_1): Swap the incscc and the conditional mode detection code
* 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.
From-SVN: r30352
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 feda6e2..fac8873 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) |