diff options
author | Chad Rosier <mcrosier@codeaurora.org> | 2016-03-21 19:47:44 +0000 |
---|---|---|
committer | Chad Rosier <mcrosier@codeaurora.org> | 2016-03-21 19:47:44 +0000 |
commit | 2e5c526bb11b281c86564b3172729ed6aa0d6ed8 (patch) | |
tree | e9becc1ac61c66bf463f345f2211d01e56958afd | |
parent | 920341c7a987cd925ccc16693020e405d90d62c2 (diff) | |
download | bcm5719-llvm-2e5c526bb11b281c86564b3172729ed6aa0d6ed8.tar.gz bcm5719-llvm-2e5c526bb11b281c86564b3172729ed6aa0d6ed8.zip |
[SLP] Remove unnecessary member variables by using container APIs.
This changes the debug output, but still retains its usefulness.
Differential Revision: http://reviews.llvm.org/D18324
llvm-svn: 263975
-rw-r--r-- | llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp index 1537efdc0ce..aac1f9acf48 100644 --- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp +++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp @@ -3439,8 +3439,9 @@ struct SLPVectorizer : public FunctionPass { collectSeedInstructions(BB); // Vectorize trees that end at stores. - if (NumStores > 0) { - DEBUG(dbgs() << "SLP: Found " << NumStores << " stores.\n"); + if (!Stores.empty()) { + DEBUG(dbgs() << "SLP: Found stores for " << Stores.size() + << " underlying objects.\n"); Changed |= vectorizeStoreChains(R); } @@ -3450,8 +3451,9 @@ struct SLPVectorizer : public FunctionPass { // Vectorize the index computations of getelementptr instructions. This // is primarily intended to catch gather-like idioms ending at // non-consecutive loads. - if (NumGEPs > 0) { - DEBUG(dbgs() << "SLP: Found " << NumGEPs << " GEPs.\n"); + if (!GEPs.empty()) { + DEBUG(dbgs() << "SLP: Found GEPs for " << GEPs.size() + << " underlying objects.\n"); Changed |= vectorizeGEPIndices(BB, R); } } @@ -3527,12 +3529,6 @@ private: /// The getelementptr instructions in a basic block organized by base pointer. WeakVHListMap GEPs; - /// The number of store instructions in a basic block. - unsigned NumStores; - - /// The number of getelementptr instructions in a basic block. - unsigned NumGEPs; - unsigned MaxVecRegSize; // This is set by TTI or overridden by cl::opt. unsigned MinVecRegSize; // Set by cl::opt (default: 128). }; @@ -3670,7 +3666,6 @@ void SLPVectorizer::collectSeedInstructions(BasicBlock *BB) { // Initialize the collections. We will make a single pass over the block. Stores.clear(); GEPs.clear(); - NumStores = NumGEPs = 0; // Visit the store and getelementptr instructions in BB and organize them in // Stores and GEPs according to the underlying objects of their pointer @@ -3685,7 +3680,6 @@ void SLPVectorizer::collectSeedInstructions(BasicBlock *BB) { if (!isValidElementType(SI->getValueOperand()->getType())) continue; Stores[GetUnderlyingObject(SI->getPointerOperand(), *DL)].push_back(SI); - ++NumStores; } // Ignore getelementptr instructions that have more than one index, a @@ -3698,7 +3692,6 @@ void SLPVectorizer::collectSeedInstructions(BasicBlock *BB) { if (!isValidElementType(Idx->getType())) continue; GEPs[GetUnderlyingObject(GEP->getPointerOperand(), *DL)].push_back(GEP); - ++NumGEPs; } } } |