summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2013-08-24 19:55:38 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2013-08-24 19:55:38 +0000
commit8405888af1fb2cb082d1189b3b0b5bb0562c9190 (patch)
tree0229dfc9b87efafbd6c1f90da157b77bdf8cd2a4 /llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
parent092e2fe426b87809edf36992c564692920a623fd (diff)
downloadbcm5719-llvm-8405888af1fb2cb082d1189b3b0b5bb0562c9190.tar.gz
bcm5719-llvm-8405888af1fb2cb082d1189b3b0b5bb0562c9190.zip
Check if in set on insertion instead of separately
llvm-svn: 189179
Diffstat (limited to 'llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp')
-rw-r--r--llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp10
1 files changed, 3 insertions, 7 deletions
diff --git a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
index b1f097e2d8a..2610e2457e7 100644
--- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
@@ -1161,13 +1161,11 @@ Value *BoUpSLP::vectorizeTree(TreeEntry *E) {
ValueList Operands;
BasicBlock *IBB = PH->getIncomingBlock(i);
- if (VisitedBBs.count(IBB)) {
+ if (!VisitedBBs.insert(IBB)) {
NewPhi->addIncoming(NewPhi->getIncomingValueForBlock(IBB), IBB);
continue;
}
- VisitedBBs.insert(IBB);
-
// Prepare the operand vector.
for (unsigned j = 0; j < E->Scalars.size(); ++j)
Operands.push_back(cast<PHINode>(E->Scalars[j])->
@@ -1851,9 +1849,8 @@ bool SLPVectorizer::vectorizeChainsInBlock(BasicBlock *BB, BoUpSLP &R) {
break;
// We may go through BB multiple times so skip the one we have checked.
- if (VisitedInstrs.count(instr))
+ if (!VisitedInstrs.insert(instr))
continue;
- VisitedInstrs.insert(instr);
// Stop constructing the list when you reach a different type.
if (Incoming.size() && P->getType() != Incoming[0]->getType()) {
@@ -1879,9 +1876,8 @@ bool SLPVectorizer::vectorizeChainsInBlock(BasicBlock *BB, BoUpSLP &R) {
for (BasicBlock::iterator it = BB->begin(), e = BB->end(); it != e; it++) {
// We may go through BB multiple times so skip the one we have checked.
- if (VisitedInstrs.count(it))
+ if (!VisitedInstrs.insert(it))
continue;
- VisitedInstrs.insert(it);
if (isa<DbgInfoIntrinsic>(it))
continue;
OpenPOWER on IntegriCloud