From: vmakarov Date: Thu, 6 Jun 2013 21:12:06 +0000 (+0000) Subject: 2013-06-06 Vladimir Makarov X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3620f4de1b49b0bfffe5f812b2d259e5c72c5c61;p=thirdparty%2Fgcc.git 2013-06-06 Vladimir Makarov 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index aa76576aae5e..e4ebfa775eb9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2013-06-06 Vladimir Makarov + + PR rtl-optimization/57468 + * config/i386/i386.c (inline_secondary_memory_needed): Ignore + spilled pseudos. + 2013-06-06 Vladimir Makarov PR rtl-optimization/57459 diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 77962c14521d..5f6a5d582f89 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -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)