diff options
author | Nadav Rotem <nrotem@apple.com> | 2013-04-20 05:23:11 +0000 |
---|---|---|
committer | Nadav Rotem <nrotem@apple.com> | 2013-04-20 05:23:11 +0000 |
commit | dfe1c93ca4b00d58eec4bd7358b4e6bc86668d57 (patch) | |
tree | d65f27d33eb3f30fc310f987816caa212f15f243 | |
parent | dfd8fcbb00336a0577637936a1c9bc296be60ecd (diff) | |
download | bcm5719-llvm-dfe1c93ca4b00d58eec4bd7358b4e6bc86668d57.tar.gz bcm5719-llvm-dfe1c93ca4b00d58eec4bd7358b4e6bc86668d57.zip |
Report the number of stores that were found in the debug message.
llvm-svn: 179929
-rw-r--r-- | llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp index 6d4c36aacdc..a9ec243bc01 100644 --- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp +++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp @@ -89,8 +89,8 @@ struct SLPVectorizer : public FunctionPass { BBChanged |= vectorizeReductions(BB, R); // Vectorize trees that end at stores. - if (collectStores(BB, R)) { - DEBUG(dbgs()<<"SLP: Found stores to vectorize.\n"); + if (unsigned count = collectStores(BB, R)) { + DEBUG(dbgs()<<"SLP: Found " << count << " stores to vectorize.\n"); BBChanged |= vectorizeStoreChains(R); } @@ -121,7 +121,7 @@ private: /// object. We sort the stores to their base objects to reduce the cost of the /// quadratic search on the stores. TODO: We can further reduce this cost /// if we flush the chain creation every time we run into a memory barrier. - bool collectStores(BasicBlock *BB, BoUpSLP &R); + unsigned collectStores(BasicBlock *BB, BoUpSLP &R); /// \brief Try to vectorize a chain that starts at two arithmetic instrs. bool tryToVectorizePair(Value *A, Value *B, BoUpSLP &R); @@ -144,7 +144,8 @@ private: StoreListMap StoreRefs; }; -bool SLPVectorizer::collectStores(BasicBlock *BB, BoUpSLP &R) { +unsigned SLPVectorizer::collectStores(BasicBlock *BB, BoUpSLP &R) { + unsigned count = 0; StoreRefs.clear(); for (BasicBlock::iterator it = BB->begin(), e = BB->end(); it != e; ++it) { StoreInst *SI = dyn_cast<StoreInst>(it); @@ -153,7 +154,7 @@ bool SLPVectorizer::collectStores(BasicBlock *BB, BoUpSLP &R) { // Check that the pointer points to scalars. if (SI->getValueOperand()->getType()->isAggregateType()) - return false; + return 0; // Find the base of the GEP. Value *Ptr = SI->getPointerOperand(); @@ -162,8 +163,9 @@ bool SLPVectorizer::collectStores(BasicBlock *BB, BoUpSLP &R) { // Save the store locations. StoreRefs[Ptr].push_back(SI); + count++; } - return true; + return count; } bool SLPVectorizer::tryToVectorizePair(Value *A, Value *B, BoUpSLP &R) { |