From 0aa2ad61049651136c592633033911dc217f5102 Mon Sep 17 00:00:00 2001 From: Benjamin Kramer Date: Wed, 13 Feb 2013 21:12:29 +0000 Subject: [PATCH] LoopVectorize: Simplify code for clarity. No functionality change. llvm-svn: 175076 --- llvm/lib/Transforms/Vectorize/LoopVectorize.cpp | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp index 842ae02..ab1068d 100644 --- a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp +++ b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp @@ -2805,17 +2805,17 @@ unsigned LoopVectorizationCostModel::getWidestType() { continue; // Examine the stored values. - StoreInst *ST = 0; - if ((ST = dyn_cast(it))) + if (StoreInst *ST = dyn_cast(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(Inst); - if (ST) + if (StoreInst *ST = dyn_cast(Inst)) return Legal->isConsecutivePtr(ST->getPointerOperand()) != 0; // Check for a load. - LoadInst *LI = dyn_cast(Inst); - if (LI) + if (LoadInst *LI = dyn_cast(Inst)) return Legal->isConsecutivePtr(LI->getPointerOperand()) != 0; return false; -- 2.7.4