aboutsummaryrefslogtreecommitdiff
path: root/gcc/unroll.c
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1996-11-15 12:58:29 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1996-11-15 12:58:29 -0500
commitf6beed21692f8885aaf59e843c0809861cf55738 (patch)
tree81f046633dbd9bf8b5f779af02135c6e8fdfad8c /gcc/unroll.c
parent80906567f4c44f9127300aa3832b64a4ae77282f (diff)
downloadgcc-f6beed21692f8885aaf59e843c0809861cf55738.zip
gcc-f6beed21692f8885aaf59e843c0809861cf55738.tar.gz
gcc-f6beed21692f8885aaf59e843c0809861cf55738.tar.bz2
(iteration_info): Fix code so that it knows iteration_var is a
HOST_WIDE_INT, not a long. From-SVN: r13164
Diffstat (limited to 'gcc/unroll.c')
-rw-r--r--gcc/unroll.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/gcc/unroll.c b/gcc/unroll.c
index f5e3675..0e033ef 100644
--- a/gcc/unroll.c
+++ b/gcc/unroll.c
@@ -2263,14 +2263,16 @@ iteration_info (iteration_var, initial_value, increment, loop_start, loop_end)
"Loop unrolling: No reg_iv_type entry for iteration var.\n");
return;
}
- /* Reject iteration variables larger than the host long size, since they
+
+ /* Reject iteration variables larger than the host wide int size, since they
could result in a number of iterations greater than the range of our
- `unsigned long' variable loop_n_iterations. */
- else if (GET_MODE_BITSIZE (GET_MODE (iteration_var)) > HOST_BITS_PER_LONG)
+ `unsigned HOST_WIDE_INT' variable loop_n_iterations. */
+ else if ((GET_MODE_BITSIZE (GET_MODE (iteration_var))
+ > HOST_BITS_PER_WIDE_INT))
{
if (loop_dump_stream)
fprintf (loop_dump_stream,
- "Loop unrolling: Iteration var rejected because mode larger than host long.\n");
+ "Loop unrolling: Iteration var rejected because mode too large.\n");
return;
}
else if (GET_MODE_CLASS (GET_MODE (iteration_var)) != MODE_INT)