aboutsummaryrefslogtreecommitdiff
path: root/gcc/loop.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>2000-05-18 20:44:58 -0700
committerRichard Henderson <rth@gcc.gnu.org>2000-05-18 20:44:58 -0700
commita8393d5dc2d2c4c7658aa53b5b679920b07741a3 (patch)
treed5333410ff7875c1b503f1494dbce8488dfa6e4d /gcc/loop.c
parent14806ff142e7207cefc4c45196981df5a1d4fac3 (diff)
downloadgcc-a8393d5dc2d2c4c7658aa53b5b679920b07741a3.zip
gcc-a8393d5dc2d2c4c7658aa53b5b679920b07741a3.tar.gz
gcc-a8393d5dc2d2c4c7658aa53b5b679920b07741a3.tar.bz2
rtlanal.c (insn_dependant_p, [...]): New.
* rtlanal.c (insn_dependant_p, insn_dependant_p_1): New. * rtl.h (insn_dependant_p): Declare it. * loop.c (strength_reduce): Use it. From-SVN: r34010
Diffstat (limited to 'gcc/loop.c')
-rw-r--r--gcc/loop.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/gcc/loop.c b/gcc/loop.c
index d31dbeb..70c307a 100644
--- a/gcc/loop.c
+++ b/gcc/loop.c
@@ -4119,10 +4119,9 @@ strength_reduce (loop, insn_count, flags)
for (next = NEXT_INSN (dominator); ; next = NEXT_INSN (next))
{
- if ((INSN_P (next)
- && (reg_mentioned_p (giv, PATTERN (next))
- || reg_set_p (bl2->biv->src_reg, next)))
- || GET_CODE (next) == JUMP_INSN)
+ if (GET_CODE (next) == JUMP_INSN
+ || (INSN_P (next)
+ && insn_dependant_p (giv_insn, next)))
break;
#ifdef HAVE_cc0
if (! INSN_P (next)