[llvm-commits] [llvm] r98042 - /llvm/trunk/lib/Target/X86/X86InstrInfo.cpp
Dan Gohman
gohman at apple.com
Mon Mar 8 19:01:40 PST 2010
Author: djg
Date: Mon Mar 8 21:01:40 2010
New Revision: 98042
URL: http://llvm.org/viewvc/llvm-project?rev=98042&view=rev
Log:
Don't try to fold V_SET0 and V_SETALLONES to loads in medium and
large code models.
Modified:
llvm/trunk/lib/Target/X86/X86InstrInfo.cpp
Modified: llvm/trunk/lib/Target/X86/X86InstrInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrInfo.cpp?rev=98042&r1=98041&r2=98042&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrInfo.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86InstrInfo.cpp Mon Mar 8 21:01:40 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-commits
mailing list