diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2013-02-13 21:12:29 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2013-02-13 21:12:29 +0000 |
commit | c0a6e070fc8fccb86ed91d503a7efc64a2abaa14 (patch) | |
tree | 71cac113b4e716e003a395f964dc26f90468ce87 /lib/Transforms/Vectorize/LoopVectorize.cpp | |
parent | 6eaab0d69bd23ceb7117f824bcccdad23628b3e1 (diff) |
LoopVectorize: Simplify code for clarity.
No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175076 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Vectorize/LoopVectorize.cpp')
-rw-r--r-- | lib/Transforms/Vectorize/LoopVectorize.cpp | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/lib/Transforms/Vectorize/LoopVectorize.cpp b/lib/Transforms/Vectorize/LoopVectorize.cpp index 842ae0291e..ab1068dfa7 100644 --- a/lib/Transforms/Vectorize/LoopVectorize.cpp +++ b/lib/Transforms/Vectorize/LoopVectorize.cpp @@ -2805,17 +2805,17 @@ unsigned LoopVectorizationCostModel::getWidestType() { continue; // Examine the stored values. - StoreInst *ST = 0; - if ((ST = dyn_cast<StoreInst>(it))) + if (StoreInst *ST = dyn_cast<StoreInst>(it)) T = ST->getValueOperand()->getType(); // Ignore loaded pointer types and stored pointer types that are not // consecutive. However, we do want to take consecutive stores/loads of // pointer vectors into account. - if (T->isPointerTy() && isConsecutiveLoadOrStore(it)) - MaxWidth = std::max(MaxWidth, DL->getPointerSizeInBits()); - else - MaxWidth = std::max(MaxWidth, T->getScalarSizeInBits()); + if (T->isPointerTy() && !isConsecutiveLoadOrStore(it)) + continue; + + MaxWidth = std::max(MaxWidth, + (unsigned)DL->getTypeSizeInBits(T->getScalarType())); } } @@ -3242,13 +3242,11 @@ namespace llvm { bool LoopVectorizationCostModel::isConsecutiveLoadOrStore(Instruction *Inst) { // Check for a store. - StoreInst *ST = dyn_cast<StoreInst>(Inst); - if (ST) + if (StoreInst *ST = dyn_cast<StoreInst>(Inst)) return Legal->isConsecutivePtr(ST->getPointerOperand()) != 0; // Check for a load. - LoadInst *LI = dyn_cast<LoadInst>(Inst); - if (LI) + if (LoadInst *LI = dyn_cast<LoadInst>(Inst)) return Legal->isConsecutivePtr(LI->getPointerOperand()) != 0; return false; |