[llvm-commits] [llvm] r97633 - /llvm/trunk/lib/Target/X86/X86InstrInfo.td

Chris Lattner sabre at nondot.org
Tue Mar 2 18:14:54 PST 2010


Author: lattner
Date: Tue Mar  2 20:14:54 2010
New Revision: 97633

URL: http://llvm.org/viewvc/llvm-project?rev=97633&view=rev
Log:
remove nvload and two patterns that use it which are 
better done by dag combine.

Modified:
    llvm/trunk/lib/Target/X86/X86InstrInfo.td

Modified: llvm/trunk/lib/Target/X86/X86InstrInfo.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrInfo.td?rev=97633&r1=97632&r2=97633&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrInfo.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrInfo.td Tue Mar  2 20:14:54 2010
@@ -417,23 +417,6 @@
   return false;
 }]>;
 
-def nvloadi32 : PatFrag<(ops node:$ptr), (i32 (unindexedload node:$ptr)), [{
-  LoadSDNode *LD = cast<LoadSDNode>(N);
-  if (const Value *Src = LD->getSrcValue())
-    if (const PointerType *PT = dyn_cast<PointerType>(Src->getType()))
-      if (PT->getAddressSpace() > 255)
-        return false;
-  if (LD->isVolatile())
-    return false;
-  ISD::LoadExtType ExtType = LD->getExtensionType();
-  if (ExtType == ISD::NON_EXTLOAD)
-    return true;
-  if (ExtType == ISD::EXTLOAD)
-    return LD->getAlignment() >= 4;
-  return false;
-}]>;
-
-
 def loadi8  : PatFrag<(ops node:$ptr), (i8  (dsload node:$ptr))>;
 def loadi64 : PatFrag<(ops node:$ptr), (i64 (dsload node:$ptr))>;
 def loadf32 : PatFrag<(ops node:$ptr), (f32 (dsload node:$ptr))>;
@@ -4416,12 +4399,6 @@
 def : Pat<(i32 (anyext GR8 :$src)), (MOVZX32rr8  GR8 :$src)>;
 def : Pat<(i32 (anyext GR16:$src)), (MOVZX32rr16 GR16:$src)>;
 
-// (and (i32 load), 255) -> (zextload i8)
-def : Pat<(i32 (and (nvloadi32 addr:$src), (i32 255))),
-          (MOVZX32rm8 addr:$src)>;
-def : Pat<(i32 (and (nvloadi32 addr:$src), (i32 65535))),
-          (MOVZX32rm16 addr:$src)>;
-
 //===----------------------------------------------------------------------===//
 // Some peepholes
 //===----------------------------------------------------------------------===//





More information about the llvm-commits mailing list