From b58e06bc9e748e2014eadebe57cdca582bdb0968 Mon Sep 17 00:00:00 2001 From: Evan Cheng Date: Thu, 9 Nov 2006 04:29:46 +0000 Subject: [PATCH] getPostIndexedAddressParts change: passes in load/store instead of its loaded / stored VT. llvm-svn: 31584 --- llvm/include/llvm/Target/TargetLowering.h | 2 +- llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/llvm/include/llvm/Target/TargetLowering.h b/llvm/include/llvm/Target/TargetLowering.h index e5cddada5833..d775d8278f2e 100644 --- a/llvm/include/llvm/Target/TargetLowering.h +++ b/llvm/include/llvm/Target/TargetLowering.h @@ -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) { diff --git a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp index 430cf5c6f56a..d211077b90de 100644 --- a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp @@ -282,10 +282,8 @@ namespace { MVT::ValueType VT; if (LoadSDNode *LD = dyn_cast(N)) { Ptr = LD->getBasePtr(); - VT = LD->getLoadedVT(); } else if (StoreSDNode *ST = dyn_cast(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)