diff options
author | Jakub Jelinek <jakub@redhat.com> | 2019-03-19 20:04:14 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2019-03-19 20:04:14 +0100 |
commit | 2a23a1c39fb33df0277abd4486a3da64ae5e62c2 (patch) | |
tree | 54c3c251350ec1e257162d8ab01537dda078a455 | |
parent | ea5ac5a69b4b474bb221051e705f98d8599253fa (diff) | |
download | gcc-2a23a1c39fb33df0277abd4486a3da64ae5e62c2.zip gcc-2a23a1c39fb33df0277abd4486a3da64ae5e62c2.tar.gz gcc-2a23a1c39fb33df0277abd4486a3da64ae5e62c2.tar.bz2 |
re PR rtl-optimization/89768 (ICE in compare_and_jump_seq at loop-unroll.c:838)
PR rtl-optimization/89768
* loop-unroll.c (unroll_loop_constant_iterations): Use gen_int_mode
instead of GEN_INT.
(unroll_loop_runtime_iterations): Likewise.
From-SVN: r269812
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/loop-unroll.c | 8 |
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. */ |