]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
2013-06-06 Vladimir Makarov <vmakarov@redhat.com>
authorvmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 6 Jun 2013 21:12:06 +0000 (21:12 +0000)
committervmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 6 Jun 2013 21:12:06 +0000 (21:12 +0000)
PR rtl-optimization/57468
* config/i386/i386.c (inline_secondary_memory_needed): Ignore
spilled pseudos.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199764 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/i386/i386.c

index aa76576aae5e730b763109e133fb39ac698d47ec..e4ebfa775eb927c5ce97ea00c5903fdd817199e7 100644 (file)
@@ -1,3 +1,9 @@
+2013-06-06  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/57468
+       * config/i386/i386.c (inline_secondary_memory_needed): Ignore
+       spilled pseudos.
+
 2013-06-06  Vladimir Makarov  <vmakarov@redhat.com>
 
        PR rtl-optimization/57459
index 77962c14521db704c52743e1b4d6e8845cb9fe47..5f6a5d582f89f2f65280f98362d15991bd765902 100644 (file)
@@ -33951,6 +33951,8 @@ static inline bool
 inline_secondary_memory_needed (enum reg_class class1, enum reg_class class2,
                                enum machine_mode mode, int strict)
 {
+  if (lra_in_progress && (class1 == NO_REGS || class2 == NO_REGS))
+    return false;
   if (MAYBE_FLOAT_CLASS_P (class1) != FLOAT_CLASS_P (class1)
       || MAYBE_FLOAT_CLASS_P (class2) != FLOAT_CLASS_P (class2)
       || MAYBE_SSE_CLASS_P (class1) != SSE_CLASS_P (class1)