diff options
author | Andreas Schwab <schwab@suse.de> | 1999-09-14 07:34:59 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1999-09-14 01:34:59 -0600 |
commit | 328de7dac7ee9534f9245d1a8f8084fbaa6b3451 (patch) | |
tree | 1e8da1a5f2954c525fab12a718808715db0502ff /gcc/loop.c | |
parent | 51f53e010519ccfd1c857f37c52d34cc6e31a3d0 (diff) | |
download | gcc-328de7dac7ee9534f9245d1a8f8084fbaa6b3451.zip gcc-328de7dac7ee9534f9245d1a8f8084fbaa6b3451.tar.gz gcc-328de7dac7ee9534f9245d1a8f8084fbaa6b3451.tar.bz2 |
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
Diffstat (limited to 'gcc/loop.c')
-rw-r--r-- | gcc/loop.c | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -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)) |