getPostIndexedAddressParts change: passes in load/store instead of its loaded / store...
authorEvan Cheng <evan.cheng@apple.com>
Thu, 9 Nov 2006 04:29:46 +0000 (04:29 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Thu, 9 Nov 2006 04:29:46 +0000 (04:29 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31584 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Target/TargetLowering.h
lib/CodeGen/SelectionDAG/DAGCombiner.cpp

index e5cddada5833bc15a1011d9061b8119f32510cfe..d775d8278f2e4614f78f1bc627108230b050ddb3 100644 (file)
@@ -385,7 +385,7 @@ public:
   /// getPostIndexedAddressParts - returns true by value, base pointer and
   /// offset pointer and addressing mode by reference if this node can be
   /// combined with a load / store to form a post-indexed load / store.
-  virtual bool getPostIndexedAddressParts(SDNode *N, MVT::ValueType VT,
+  virtual bool getPostIndexedAddressParts(SDNode *N, SDNode *Op,
                                           SDOperand &Base, SDOperand &Offset,
                                           ISD::MemOpAddrMode &AM,
                                           SelectionDAG &DAG) {
index 430cf5c6f56a7f807593c01ba74a2f7cd3d826ec..d211077b90de7c6a0c374f0a570f4366500ba24c 100644 (file)
@@ -282,10 +282,8 @@ namespace {
       MVT::ValueType VT;
       if (LoadSDNode *LD  = dyn_cast<LoadSDNode>(N)) {
         Ptr = LD->getBasePtr();
-        VT  = LD->getLoadedVT();
       } else if (StoreSDNode *ST  = dyn_cast<StoreSDNode>(N)) {
         Ptr = ST->getBasePtr();
-        VT  = ST->getStoredVT();
         isLoad = false;
       } else
         return false;
@@ -301,7 +299,7 @@ namespace {
           SDOperand BasePtr;
           SDOperand Offset;
           ISD::MemOpAddrMode AM = ISD::UNINDEXED;
-          if (TLI.getPostIndexedAddressParts(Op, VT, BasePtr, Offset, AM,DAG)) {
+          if (TLI.getPostIndexedAddressParts(N, Op, BasePtr, Offset, AM,DAG)) {
             if (Ptr == Offset)
               std::swap(BasePtr, Offset);
             if (Ptr != BasePtr)