diff options
author | mrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-10-20 23:47:35 +0000 |
---|---|---|
committer | mrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-10-20 23:47:35 +0000 |
commit | 6b40961666f073231ed8a76e6e33deeda063cde7 (patch) | |
tree | 8247eb4232e8be98b7f61bd68bab2fd1a9f06ca3 /gcc/loop-doloop.c | |
parent | e6b1b76450af5f98696ecedd4bd9a0ed18cdb2a6 (diff) | |
parent | fc1ce0cf396bf638746d546a557158d87f13849b (diff) |
Merge in trunk.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@203881 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/loop-doloop.c')
-rw-r--r-- | gcc/loop-doloop.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/gcc/loop-doloop.c b/gcc/loop-doloop.c index 0cd5c98dc99..3fa156165bd 100644 --- a/gcc/loop-doloop.c +++ b/gcc/loop-doloop.c @@ -381,7 +381,7 @@ add_test (rtx cond, edge *e, basic_block dest) JUMP_LABEL (jump) = label; /* The jump is supposed to handle an unlikely special case. */ - add_reg_note (jump, REG_BR_PROB, const0_rtx); + add_int_reg_note (jump, REG_BR_PROB, 0); LABEL_NUSES (label)++; @@ -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) && wi::leu_p (iterations, wi::set_bit_in_zero (GET_MODE_PRECISION (mode) - 1, GET_MODE_PRECISION (mode)))) @@ -552,7 +552,7 @@ doloop_modify (struct loop *loop, struct niter_desc *desc, wide_int iter; rtx iter_rtx; - if (!max_loop_iterations (loop, &iter) + if (!get_max_loop_iterations (loop, &iter) || !wi::fits_shwi_p (iter)) iter_rtx = const0_rtx; else @@ -594,8 +594,7 @@ doloop_modify (struct loop *loop, struct niter_desc *desc, if (true_prob_val) { /* Seems safer to use the branch probability. */ - add_reg_note (jump_insn, REG_BR_PROB, - GEN_INT (desc->in_edge->probability)); + add_int_reg_note (jump_insn, REG_BR_PROB, desc->in_edge->probability); } } @@ -670,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) || !wi::fits_shwi_p (iter)) iterations_max = const0_rtx; else |