[llvm] r193572 - SLPVectorizer: Use vector type for vectorized memory operations

Francois Pichet pichet2000 at gmail.com
Mon Oct 28 19:31:30 PDT 2013


hi

Does that mean the problem I expressed here is now fixed ?

http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-July/064010.html


On Mon, Oct 28, 2013 at 9:33 PM, Arnold Schwaighofer <
aschwaighofer at apple.com> wrote:

> Author: arnolds
> Date: Mon Oct 28 20:33:50 2013
> New Revision: 193572
>
> URL: http://llvm.org/viewvc/llvm-project?rev=193572&view=rev
> Log:
> SLPVectorizer: Use vector type for vectorized memory operations
>
> No test case, because with the current cost model we don't see a
> difference.
> An upcoming ARM memory cost model change will expose and test this bug.
>
> radar://15332579
>
> Modified:
>     llvm/trunk/lib/Transforms/Vectorize/SLPVectorizer.cpp
>
> Modified: llvm/trunk/lib/Transforms/Vectorize/SLPVectorizer.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Vectorize/SLPVectorizer.cpp?rev=193572&r1=193571&r2=193572&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/Transforms/Vectorize/SLPVectorizer.cpp (original)
> +++ llvm/trunk/lib/Transforms/Vectorize/SLPVectorizer.cpp Mon Oct 28
> 20:33:50 2013
> @@ -1023,14 +1023,14 @@ int BoUpSLP::getEntryCost(TreeEntry *E)
>        // Cost of wide load - cost of scalar loads.
>        int ScalarLdCost = VecTy->getNumElements() *
>        TTI->getMemoryOpCost(Instruction::Load, ScalarTy, 1, 0);
> -      int VecLdCost = TTI->getMemoryOpCost(Instruction::Load, ScalarTy,
> 1, 0);
> +      int VecLdCost = TTI->getMemoryOpCost(Instruction::Load, VecTy, 1,
> 0);
>        return VecLdCost - ScalarLdCost;
>      }
>      case Instruction::Store: {
>        // We know that we can merge the stores. Calculate the cost.
>        int ScalarStCost = VecTy->getNumElements() *
>        TTI->getMemoryOpCost(Instruction::Store, ScalarTy, 1, 0);
> -      int VecStCost = TTI->getMemoryOpCost(Instruction::Store, ScalarTy,
> 1, 0);
> +      int VecStCost = TTI->getMemoryOpCost(Instruction::Store, VecTy, 1,
> 0);
>        return VecStCost - ScalarStCost;
>      }
>      default:
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131028/16ce03e3/attachment.html>


More information about the llvm-commits mailing list