From: Jakub Jelinek Date: Fri, 30 Aug 2019 12:27:50 +0000 (+0200) Subject: backport: re PR rtl-optimization/89768 (ICE in compare_and_jump_seq at loop-unroll... X-Git-Tag: releases/gcc-7.5.0~226 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=862a7d828de9fdc3ba2d48bcfbfc113d66d3d5c5;p=thirdparty%2Fgcc.git backport: re PR rtl-optimization/89768 (ICE in compare_and_jump_seq at loop-unroll.c:838) Backported from mainline 2019-03-19 Jakub Jelinek 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: r275137 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ab9eb91f95cb..9970d4e36721 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -3,6 +3,11 @@ Backported from mainline 2019-03-19 Jakub Jelinek + PR rtl-optimization/89768 + * loop-unroll.c (unroll_loop_constant_iterations): Use gen_int_mode + instead of GEN_INT. + (unroll_loop_runtime_iterations): Likewise. + PR target/89752 * gimplify.c (gimplify_asm_expr): For output argument with TREE_ADDRESSABLE type, clear allows_reg if it allows memory, otherwise diff --git a/gcc/loop-unroll.c b/gcc/loop-unroll.c index 21959f716b1e..0f76bddaa89b 100644 --- a/gcc/loop-unroll.c +++ b/gcc/loop-unroll.c @@ -630,7 +630,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) @@ -996,7 +996,8 @@ unroll_loop_runtime_iterations (struct loop *loop) preheader->frequency += iter_freq; preheader->count += iter_count; single_succ_edge (preheader)->count = preheader->count; - branch_code = compare_and_jump_seq (copy_rtx (niter), GEN_INT (j), EQ, + branch_code = compare_and_jump_seq (copy_rtx (niter), + gen_int_mode (j, desc->mode), EQ, block_label (preheader), p, NULL);