From: Nadav Rotem Date: Sat, 20 Apr 2013 05:23:11 +0000 (+0000) Subject: Report the number of stores that were found in the debug message. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=ef332b1ca1721be962c73e76b4c4e0e44ffaf5d9;p=oota-llvm.git Report the number of stores that were found in the debug message. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179929 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Transforms/Vectorize/SLPVectorizer.cpp b/lib/Transforms/Vectorize/SLPVectorizer.cpp index 6d4c36aacdc..a9ec243bc01 100644 --- a/lib/Transforms/Vectorize/SLPVectorizer.cpp +++ b/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(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) {