From: Jakub Jelinek Date: Fri, 30 Aug 2019 12:28:22 +0000 (+0200) Subject: backport: re PR target/89752 (ICE in emit_move_insn, at expr.c:3723) X-Git-Tag: releases/gcc-7.5.0~225 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a3b2e69ae42c70e0c7f634406369095804e96016;p=thirdparty%2Fgcc.git backport: re PR target/89752 (ICE in emit_move_insn, at expr.c:3723) Backported from mainline 2019-03-20 Jakub Jelinek PR target/89752 * lra-constraints.c (process_alt_operands) : For BLKmode, don't update this_alternative nor this_alternative_set. From-SVN: r275138 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9970d4e36721..36c445f3c7b3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,6 +1,12 @@ 2019-08-30 Jakub Jelinek Backported from mainline + 2019-03-20 Jakub Jelinek + + PR target/89752 + * lra-constraints.c (process_alt_operands) : For BLKmode, don't + update this_alternative nor this_alternative_set. + 2019-03-19 Jakub Jelinek PR rtl-optimization/89768 diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c index 9b011fd70a5f..471f878d300e 100644 --- a/gcc/lra-constraints.c +++ b/gcc/lra-constraints.c @@ -2294,6 +2294,8 @@ process_alt_operands (int only_alternative) break; reg: + if (mode == BLKmode) + break; this_alternative = reg_class_subunion[this_alternative][cl]; IOR_HARD_REG_SET (this_alternative_set, reg_class_contents[cl]); @@ -2304,8 +2306,6 @@ process_alt_operands (int only_alternative) IOR_HARD_REG_SET (this_costly_alternative_set, reg_class_contents[cl]); } - if (mode == BLKmode) - break; winreg = true; if (REG_P (op)) {