aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Wilson <wilson@cygnus.com>1999-03-08 16:09:05 +0000
committerJim Wilson <wilson@gcc.gnu.org>1999-03-08 08:09:05 -0800
commit66830675f2c2820222585b4a84b3f2ab7912dfbb (patch)
treeb8606b5e3306b357419fb22b180616ee884b4a17
parent86879c21acddbfa729e6172052ab7b79165d27b4 (diff)
downloadgcc-66830675f2c2820222585b4a84b3f2ab7912dfbb.zip
gcc-66830675f2c2820222585b4a84b3f2ab7912dfbb.tar.gz
gcc-66830675f2c2820222585b4a84b3f2ab7912dfbb.tar.bz2
Fix cygwin toolchain build failure reported by Geoffrey Noer.
* unroll.c (loop_iterations): Only call loop_find_equiv_value if we have a REG or SUBREG. From-SVN: r25643
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/unroll.c6
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 77d23c1..fc6d1ef 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Mon Mar 8 16:04:44 1999 Jim Wilson <wilson@cygnus.com>
+
+ * unroll.c (loop_iterations): Only call loop_find_equiv_value if we
+ have a REG or SUBREG.
+
Mon Mar 8 15:27:42 1999 Jeffrey A Law (law@cygnus.com)
* flow.c (merge_blocks_nomove): For HAVE_cc0 targets, make sure
diff --git a/gcc/unroll.c b/gcc/unroll.c
index 841f06a..32ed531 100644
--- a/gcc/unroll.c
+++ b/gcc/unroll.c
@@ -3830,7 +3830,11 @@ loop_iterations (loop_start, loop_end, loop_info)
if (GET_CODE (increment) != CONST_INT)
{
- increment = loop_find_equiv_value (loop_start, increment);
+ /* If we have a REG, check to see if REG holds a constant value. */
+ /* ??? Other RTL, such as (neg (reg)) is possible here, but it isn't
+ clear if it is worthwhile to try to handle such RTL. */
+ if (GET_CODE (increment) == REG || GET_CODE (increment) == SUBREG)
+ increment = loop_find_equiv_value (loop_start, increment);
if (GET_CODE (increment) != CONST_INT)
{