loop.c (strength_reduce): Don't call reg_used_between_p if the insn from BL2 is after the insn from BL.

* loop.c (strength_reduce): Don't call reg_used_between_p if the
        insn from BL2 is after the insn from BL.

From-SVN: r29393
This commit is contained in:
Andreas Schwab 1999-09-14 07:34:59 +00:00 committed by Jeff Law
parent 51f53e0105
commit 328de7dac7
2 changed files with 10 additions and 5 deletions

View File

@ -1,3 +1,8 @@
Tue Sep 14 01:33:15 1999 Andreas Schwab <schwab@suse.de>
* loop.c (strength_reduce): Don't call reg_used_between_p if the
insn from BL2 is after the insn from BL.
Mon Sep 13 21:06:01 1999 Richard Henderson <rth@cygnus.com>
* recog.h (INSN_OUTPUT_FORMAT_*): New.

View File

@ -4056,11 +4056,11 @@ strength_reduce (scan_start, end, loop_top, insn_count,
in-between when biv_total_increment returns nonzero both times
but we test it here in case some day some real cfg analysis
gets used to set always_computable. */
&& ((loop_insn_first_p (bl2->biv->insn, bl->biv->insn)
&& no_labels_between_p (bl2->biv->insn, bl->biv->insn))
|| (! reg_used_between_p (bl->biv->src_reg, bl->biv->insn,
bl2->biv->insn)
&& no_jumps_between_p (bl->biv->insn, bl2->biv->insn)))
&& (loop_insn_first_p (bl2->biv->insn, bl->biv->insn)
? no_labels_between_p (bl2->biv->insn, bl->biv->insn)
: (! reg_used_between_p (bl->biv->src_reg, bl->biv->insn,
bl2->biv->insn)
&& no_jumps_between_p (bl->biv->insn, bl2->biv->insn)))
&& validate_change (bl->biv->insn,
&SET_SRC (single_set (bl->biv->insn)),
copy_rtx (src), 0))