]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR rtl-optimization/59959 (LRA ICEs on a fortran case(Suspected to be similar...
authorVladimir Makarov <vmakarov@redhat.com>
Thu, 30 Jan 2014 21:15:51 +0000 (21:15 +0000)
committerVladimir Makarov <vmakarov@gcc.gnu.org>
Thu, 30 Jan 2014 21:15:51 +0000 (21:15 +0000)
2014-01-30  Vladimir Makarov  <vmakarov@redhat.com>

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

gcc/ChangeLog
gcc/lra-constraints.c

index b91d90331773db8c3325116b470883207de9f7b8..eae504134aaf282e786b4f6e25499010ca042e47 100644 (file)
@@ -1,3 +1,9 @@
+2014-01-30  Vladimir Makarov  <vmakarov@redhat.com>
+
+       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  <jakub@redhat.com>
 
        * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing
index 34159f75a10f1ef87e42f0d5f21361dd92e9ba6a..cb64ee151a6d9896a4a925709220d00f2926b307 100644 (file)
@@ -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;