From: Vladimir Makarov Date: Thu, 30 Jan 2014 21:15:51 +0000 (+0000) Subject: re PR rtl-optimization/59959 (LRA ICEs on a fortran case(Suspected to be similar... X-Git-Tag: releases/gcc-4.9.0~1206 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7613fa50759e4e559626f1ff5d8bc6871559bdda;p=thirdparty%2Fgcc.git re PR rtl-optimization/59959 (LRA ICEs on a fortran case(Suspected to be similar to pr59915)) 2014-01-30 Vladimir Makarov PR rtl-optimization/59959 * lra-constrains.c (simplify_operand_subreg): Assign NO_REGS to any reload of register whose subreg is invalid. From-SVN: r207323 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b91d90331773..eae504134aaf 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2014-01-30 Vladimir Makarov + + PR rtl-optimization/59959 + * lra-constrains.c (simplify_operand_subreg): Assign NO_REGS to + any reload of register whose subreg is invalid. + 2014-01-30 Jakub Jelinek * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c index 34159f75a10f..cb64ee151a6d 100644 --- a/gcc/lra-constraints.c +++ b/gcc/lra-constraints.c @@ -1293,11 +1293,8 @@ simplify_operand_subreg (int nop, enum machine_mode reg_mode) { enum reg_class rclass; - if (REG_P (reg) - && curr_insn_set != NULL_RTX - && (REG_P (SET_SRC (curr_insn_set)) - || GET_CODE (SET_SRC (curr_insn_set)) == SUBREG)) - /* There is big probability that we will get the same class + if (REG_P (reg)) + /* There is a big probability that we will get the same class for the new pseudo and we will get the same insn which means infinite looping. So spill the new pseudo. */ rclass = NO_REGS;