[llvm-commits] [llvm] r43446 - /llvm/trunk/lib/Target/X86/X86ISelLowering.cpp

Evan Cheng evan.cheng at apple.com
Mon Oct 29 00:57:51 PDT 2007


Author: evancheng
Date: Mon Oct 29 02:57:50 2007
New Revision: 43446

URL: http://llvm.org/viewvc/llvm-project?rev=43446&view=rev
Log:
Avoid doing something dumb like rewriting using a 64-bit iv in 32-bit mode.

Modified:
    llvm/trunk/lib/Target/X86/X86ISelLowering.cpp

Modified: llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp?rev=43446&r1=43445&r2=43446&view=diff

==============================================================================
--- llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86ISelLowering.cpp Mon Oct 29 02:57:50 2007
@@ -5125,7 +5125,11 @@
 bool X86TargetLowering::isTruncateFree(const Type *Ty1, const Type *Ty2) const {
   if (!Ty1->isInteger() || !Ty2->isInteger())
     return false;
-  return Ty1->getPrimitiveSizeInBits() > Ty2->getPrimitiveSizeInBits();
+  unsigned NumBits1 = Ty1->getPrimitiveSizeInBits();
+  unsigned NumBits2 = Ty2->getPrimitiveSizeInBits();
+  if (NumBits1 <= NumBits2)
+    return false;
+  return Subtarget->is64Bit() || NumBits1 < 64;
 }
 
 





More information about the llvm-commits mailing list