[llvm-commits] [llvm] r47573 - /llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
Dale Johannesen
dalej at apple.com
Mon Feb 25 14:29:22 PST 2008
Author: johannes
Date: Mon Feb 25 16:29:22 2008
New Revision: 47573
URL: http://llvm.org/viewvc/llvm-project?rev=47573&view=rev
Log:
Revise previous patch per review.
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=47573&r1=47572&r2=47573&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86ISelLowering.cpp Mon Feb 25 16:29:22 2008
@@ -5885,6 +5885,7 @@
isa<LoadSDNode>(St->getValue()) &&
!cast<LoadSDNode>(St->getValue())->isVolatile() &&
St->getChain().hasOneUse() && !St->isVolatile()) {
+ SDNode* LdVal = St->getValue().Val;
LoadSDNode *Ld = 0;
int TokenFactorIndex = -1;
SmallVector<SDOperand, 8> Ops;
@@ -5892,14 +5893,12 @@
// Must be a store of a load. We currently handle two cases: the load
// is a direct child, and it's under an intervening TokenFactor. It is
// possible to dig deeper under nested TokenFactors.
- if (ChainVal == St->getValue().Val)
+ if (ChainVal == LdVal)
Ld = cast<LoadSDNode>(St->getChain());
else if (St->getValue().hasOneUse() &&
ChainVal->getOpcode() == ISD::TokenFactor) {
for (unsigned i=0, e = ChainVal->getNumOperands(); i != e; ++i) {
- if (ChainVal->getOperand(i).Val == St->getValue().Val) {
- if (TokenFactorIndex != -1)
- return SDOperand();
+ if (ChainVal->getOperand(i).Val == LdVal) {
TokenFactorIndex = i;
Ld = cast<LoadSDNode>(St->getValue());
} else
More information about the llvm-commits
mailing list