mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-19 18:59:50 +08:00
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:
parent
51f53e0105
commit
328de7dac7
@ -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.
|
||||
|
10
gcc/loop.c
10
gcc/loop.c
@ -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))
|
||||
|
Loading…
Reference in New Issue
Block a user