aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/loop-unroll.c8
2 files changed, 11 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 991f019..f4b59d7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2019-03-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/89768
+ * loop-unroll.c (unroll_loop_constant_iterations): Use gen_int_mode
+ instead of GEN_INT.
+ (unroll_loop_runtime_iterations): Likewise.
+
2019-03-19 Martin Sebor <msebor@redhat.com>
PR tree-optimization/89644
diff --git a/gcc/loop-unroll.c b/gcc/loop-unroll.c
index bc7840e..1b4c73b 100644
--- a/gcc/loop-unroll.c
+++ b/gcc/loop-unroll.c
@@ -652,7 +652,7 @@ unroll_loop_constant_iterations (struct loop *loop)
if (loop->any_likely_upper_bound)
loop->nb_iterations_likely_upper_bound
= wi::udiv_trunc (loop->nb_iterations_likely_upper_bound, max_unroll + 1);
- desc->niter_expr = GEN_INT (desc->niter);
+ desc->niter_expr = gen_int_mode (desc->niter, desc->mode);
/* Remove the edges. */
FOR_EACH_VEC_ELT (remove_edges, i, e)
@@ -1020,9 +1020,9 @@ unroll_loop_runtime_iterations (struct loop *loop)
preheader = split_edge (loop_preheader_edge (loop));
/* Add in count of edge from switch block. */
preheader->count += iter_count;
- branch_code = compare_and_jump_seq (copy_rtx (niter), GEN_INT (j), EQ,
- block_label (preheader), p,
- NULL);
+ branch_code = compare_and_jump_seq (copy_rtx (niter),
+ gen_int_mode (j, desc->mode), EQ,
+ block_label (preheader), p, NULL);
/* We rely on the fact that the compare and jump cannot be optimized out,
and hence the cfg we create is correct. */