diff options
author | Richard Henderson <rth@cygnus.com> | 2000-05-18 20:44:58 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2000-05-18 20:44:58 -0700 |
commit | a8393d5dc2d2c4c7658aa53b5b679920b07741a3 (patch) | |
tree | d5333410ff7875c1b503f1494dbce8488dfa6e4d /gcc/loop.c | |
parent | 14806ff142e7207cefc4c45196981df5a1d4fac3 (diff) | |
download | gcc-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.c | 7 |
1 files changed, 3 insertions, 4 deletions
@@ -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) |