[llvm] r193572 - SLPVectorizer: Use vector type for vectorized memory operations
Arnold Schwaighofer
aschwaighofer at apple.com
Mon Oct 28 19:37:43 PDT 2013
No.
As described here: http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-July/064023.html
I think you would need analysis that computes the alignment. We don’t have that yet.
Best,
Arnold
On Oct 28, 2013, at 9:31 PM, Francois Pichet <pichet2000 at gmail.com> wrote:
> 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
>
More information about the llvm-commits
mailing list