[llvm-branch-commits] [llvm-branch] r98301 - /llvm/branches/release_27/lib/Target/X86/X86InstrInfo.cpp

Tanya Lattner tonic at nondot.org
Thu Mar 11 15:41:22 PST 2010


Author: tbrethou
Date: Thu Mar 11 17:41:22 2010
New Revision: 98301

URL: http://llvm.org/viewvc/llvm-project?rev=98301&view=rev
Log:
Merge 98042.
Don't try to fold V_SET0 and V_SETALLONES to loads in medium and
large code models.

Modified:
    llvm/branches/release_27/lib/Target/X86/X86InstrInfo.cpp

Modified: llvm/branches/release_27/lib/Target/X86/X86InstrInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_27/lib/Target/X86/X86InstrInfo.cpp?rev=98301&r1=98300&r2=98301&view=diff
==============================================================================
--- llvm/branches/release_27/lib/Target/X86/X86InstrInfo.cpp (original)
+++ llvm/branches/release_27/lib/Target/X86/X86InstrInfo.cpp Thu Mar 11 17:41:22 2010
@@ -2525,6 +2525,11 @@
     // Folding a V_SET0 or V_SETALLONES as a load, to ease register pressure.
     // Create a constant-pool entry and operands to load from it.
 
+    // Medium and large mode can't fold loads this way.
+    if (TM.getCodeModel() != CodeModel::Small &&
+        TM.getCodeModel() != CodeModel::Kernel)
+      return NULL;
+
     // x86-32 PIC requires a PIC base register for constant pools.
     unsigned PICBase = 0;
     if (TM.getRelocationModel() == Reloc::PIC_) {





More information about the llvm-branch-commits mailing list