aboutsummaryrefslogtreecommitdiff
path: root/gcc/unroll.c
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@freesoft.cz>1999-11-02 17:37:23 +0100
committerJeff Law <law@gcc.gnu.org>1999-11-02 09:37:23 -0700
commitf5da5c8714390bc8571d7f3fb6acf956920d0f19 (patch)
treec2d3e87bda7c4504bd6e24dc9dd801f9f58ac597 /gcc/unroll.c
parentc3dfacf03a2092fa3cfc485e7a7bdd10804dd543 (diff)
downloadgcc-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.c24
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)