diff options
author | Nadav Rotem <nrotem@apple.com> | 2012-12-21 01:24:36 +0000 |
---|---|---|
committer | Nadav Rotem <nrotem@apple.com> | 2012-12-21 01:24:36 +0000 |
commit | c2a537bd08d9deedefe184c9fb887c6d30ae9fd2 (patch) | |
tree | d7ed7d1dadda9eb7b15887696902ddee77103075 | |
parent | e30843ded90f9f7b22cc8dfa352922047ffedcc6 (diff) | |
download | llvm-c2a537bd08d9deedefe184c9fb887c6d30ae9fd2.tar.gz llvm-c2a537bd08d9deedefe184c9fb887c6d30ae9fd2.tar.bz2 llvm-c2a537bd08d9deedefe184c9fb887c6d30ae9fd2.tar.xz |
BB-Vectorizer: Check the cost of the store pointer type
and not the return type, which is void. A number of test
cases fail after adding the assertion in TTImpl.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170828 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/TargetTransformImpl.cpp | 1 | ||||
-rw-r--r-- | lib/Transforms/Vectorize/BBVectorize.cpp | 4 |
2 files changed, 3 insertions, 2 deletions
diff --git a/lib/Target/TargetTransformImpl.cpp b/lib/Target/TargetTransformImpl.cpp index 7f9fdfc938..4320437020 100644 --- a/lib/Target/TargetTransformImpl.cpp +++ b/lib/Target/TargetTransformImpl.cpp @@ -340,6 +340,7 @@ unsigned VectorTargetTransformImpl::getMemoryOpCost(unsigned Opcode, Type *Src, unsigned Alignment, unsigned AddressSpace) const { + assert(!Src->isVoidTy() && "Invalid type"); std::pair<unsigned, MVT> LT = getTypeLegalizationCost(Src); // Assume that all loads of legal types cost 1. diff --git a/lib/Transforms/Vectorize/BBVectorize.cpp b/lib/Transforms/Vectorize/BBVectorize.cpp index a48229132b..ee3202a362 100644 --- a/lib/Transforms/Vectorize/BBVectorize.cpp +++ b/lib/Transforms/Vectorize/BBVectorize.cpp @@ -968,9 +968,9 @@ namespace { } if (VTTI) { - unsigned ICost = VTTI->getMemoryOpCost(I->getOpcode(), I->getType(), + unsigned ICost = VTTI->getMemoryOpCost(I->getOpcode(), aTypeI, IAlignment, IAddressSpace); - unsigned JCost = VTTI->getMemoryOpCost(J->getOpcode(), J->getType(), + unsigned JCost = VTTI->getMemoryOpCost(J->getOpcode(), aTypeJ, JAlignment, JAddressSpace); unsigned VCost = VTTI->getMemoryOpCost(I->getOpcode(), VType, BottomAlignment, |