re PR rtl-optimization/6405 (Loop-unrolling related performance regressions)
PR optimization/6405 * unroll.c (loop_iterations): last_loop_insn should be the previous non-note instruction before loop->end. * loop.c (strength_reduce): The conditional jump is the last non-note instruction before loop->end (as above). From-SVN: r56956
This commit is contained in:
parent
f40f4c8ed1
commit
7df988780b
|
@ -1,3 +1,11 @@
|
|||
2002-09-08 Roger Sayle <roger@eyesopen.com>
|
||||
|
||||
PR optimization/6405
|
||||
* unroll.c (loop_iterations): last_loop_insn should be the previous
|
||||
non-note instruction before loop->end.
|
||||
* loop.c (strength_reduce): The conditional jump is the last
|
||||
non-note instruction before loop->end (as above).
|
||||
|
||||
2002-09-08 Roger Sayle <roger@eyesopen.com>
|
||||
|
||||
* combine.c (try_combine): Handle the case that undobuf.other_insn
|
||||
|
|
|
@ -5348,7 +5348,7 @@ strength_reduce (loop, flags)
|
|||
unsigned HOST_WIDE_INT n
|
||||
= loop_info->n_iterations / loop_info->unroll_number;
|
||||
if (n > 1)
|
||||
predict_insn (PREV_INSN (loop->end), PRED_LOOP_ITERATIONS,
|
||||
predict_insn (prev_nonnote_insn (loop->end), PRED_LOOP_ITERATIONS,
|
||||
REG_BR_PROB_BASE - REG_BR_PROB_BASE / n);
|
||||
}
|
||||
|
||||
|
|
|
@ -3273,7 +3273,7 @@ loop_iterations (loop)
|
|||
accidentally get the branch for a contained loop if the branch for this
|
||||
loop was deleted. We can only trust branches immediately before the
|
||||
loop_end. */
|
||||
last_loop_insn = PREV_INSN (loop->end);
|
||||
last_loop_insn = prev_nonnote_insn (loop->end);
|
||||
|
||||
/* ??? We should probably try harder to find the jump insn
|
||||
at the end of the loop. The following code assumes that
|
||||
|
|
Loading…
Reference in New Issue