diff options
author | m.hayes <m.hayes@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-01-01 00:49:30 +0000 |
---|---|---|
committer | m.hayes <m.hayes@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-01-01 00:49:30 +0000 |
commit | 6f812a513e7676cedd4a04361255bc0e19d279e0 (patch) | |
tree | 33ca0f377662aa610d440a02bd9c36e0241f73aa /gcc/unroll.c | |
parent | cb6906193ba41211ed46c16e48f72ae2748bda29 (diff) | |
download | gcc-6f812a513e7676cedd4a04361255bc0e19d279e0.tar.gz |
* loop.h (struct iv): New.
(REG_IV_TYPE, REG_IV_CLASS, REG_INFO): Modify to use 'struct iv'.
(struct loop_ivs): Replace 'reg_iv_type', 'reg_iv_info',
'reg_biv_class' fields with 'regs' and 'n_regs'.
(struct ivs): Rename 'loop_iv_list' field to 'list'.
* loop.c (loop_bivs_find, strength_reduce): Use ivs->regs array.
* unroll.c (loop_iterations): Check array bounds with ivs->n_regs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38582 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/unroll.c')
-rw-r--r-- | gcc/unroll.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/unroll.c b/gcc/unroll.c index 1c66b1ff829..4597343fc3d 100644 --- a/gcc/unroll.c +++ b/gcc/unroll.c @@ -1184,7 +1184,7 @@ unroll_loop (loop, insn_count, end_insert_before, strength_reduce_p) /* Search the list of bivs and givs to find ones which need to be remapped when split, and set their reg_map entry appropriately. */ - for (bl = ivs->loop_iv_list; bl; bl = bl->next) + for (bl = ivs->list; bl; bl = bl->next) { if (REGNO (bl->biv->src_reg) != bl->regno) map->reg_map[bl->regno] = bl->biv->src_reg; @@ -2447,7 +2447,7 @@ find_splittable_regs (loop, unroll_type, end_insert_before, unroll_number) rtx loop_start = loop->start; rtx loop_end = loop->end; - for (bl = ivs->loop_iv_list; bl; bl = bl->next) + for (bl = ivs->list; bl; bl = bl->next) { /* Biv_total_increment must return a constant value, otherwise we can not calculate the split values. */ @@ -3545,7 +3545,7 @@ loop_iterations (loop) will propagate a new pseudo into the old iteration register but this will be marked by having the REG_USERVAR_P bit set. */ - if ((unsigned) REGNO (iteration_var) >= ivs->reg_iv_type->num_elements + if ((unsigned) REGNO (iteration_var) >= ivs->n_regs && ! REG_USERVAR_P (iteration_var)) abort (); @@ -3563,7 +3563,7 @@ loop_iterations (loop) /* If this is a new register, can't handle it since we don't have any reg_iv_type entry for it. */ - if ((unsigned) REGNO (iteration_var) >= ivs->reg_iv_type->num_elements) + if ((unsigned) REGNO (iteration_var) >= ivs->n_regs) { if (loop_dump_stream) fprintf (loop_dump_stream, |