diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 61f9dcb3edf..b4279467fa4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-10-09 Andrew MacLeod + + * loop-doloop.c (doloop_modify, doloop_optimize): Use + get_max_loop_iterations. + 2013-10-09 Kyrylo Tkachov * config/arm/aarch-common.c (arm_early_load_addr_dep): diff --git a/gcc/loop-doloop.c b/gcc/loop-doloop.c index b989454ed9e..1bc9aa392a2 100644 --- a/gcc/loop-doloop.c +++ b/gcc/loop-doloop.c @@ -460,7 +460,7 @@ doloop_modify (struct loop *loop, struct niter_desc *desc, /* Determine if the iteration counter will be non-negative. Note that the maximum value loaded is iterations_max - 1. */ - if (max_loop_iterations (loop, &iterations) + if (get_max_loop_iterations (loop, &iterations) && (iterations.ule (double_int_one.llshift (GET_MODE_PRECISION (mode) - 1, GET_MODE_PRECISION (mode))))) @@ -552,7 +552,7 @@ doloop_modify (struct loop *loop, struct niter_desc *desc, double_int iter; rtx iter_rtx; - if (!max_loop_iterations (loop, &iter) + if (!get_max_loop_iterations (loop, &iter) || !iter.fits_shwi ()) iter_rtx = const0_rtx; else @@ -669,7 +669,7 @@ doloop_optimize (struct loop *loop) count = copy_rtx (desc->niter_expr); iterations = desc->const_iter ? desc->niter_expr : const0_rtx; - if (!max_loop_iterations (loop, &iter) + if (!get_max_loop_iterations (loop, &iter) || !iter.fits_shwi ()) iterations_max = const0_rtx; else