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

Evan Cheng evan.cheng at apple.com
Mon Feb 25 14:33:42 PST 2008


Thanks!

Evan
On Feb 25, 2008, at 2:29 PM, Dale Johannesen wrote:

> 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
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits




More information about the llvm-commits mailing list