summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2019-01-07 18:15:11 +0000
committerNikita Popov <nikita.ppv@gmail.com>2019-01-07 18:15:11 +0000
commit8dd19ed3ecb3e0654009eba214b2a6241808869d (patch)
tree313113d642602acd18e4a1e272838cc57a3c4c8a /llvm/lib/Analysis
parent32f77f2b52bd4ad051c29446d4cd69e6dda5c2a9 (diff)
downloadbcm5719-llvm-8dd19ed3ecb3e0654009eba214b2a6241808869d.tar.gz
bcm5719-llvm-8dd19ed3ecb3e0654009eba214b2a6241808869d.zip
Revert "[DemandedBits] Use SetVector for Worklist"
This reverts commit r350547. Seeing assertion failures on clang tests. llvm-svn: 350549
Diffstat (limited to 'llvm/lib/Analysis')
-rw-r--r--llvm/lib/Analysis/DemandedBits.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/llvm/lib/Analysis/DemandedBits.cpp b/llvm/lib/Analysis/DemandedBits.cpp
index 016399ff592..ba310d8d321 100644
--- a/llvm/lib/Analysis/DemandedBits.cpp
+++ b/llvm/lib/Analysis/DemandedBits.cpp
@@ -21,7 +21,8 @@
#include "llvm/Analysis/DemandedBits.h"
#include "llvm/ADT/APInt.h"
-#include "llvm/ADT/SetVector.h"
+#include "llvm/ADT/SmallPtrSet.h"
+#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/Analysis/AssumptionCache.h"
#include "llvm/Analysis/ValueTracking.h"
@@ -314,7 +315,7 @@ void DemandedBits::performAnalysis() {
AliveBits.clear();
DeadUses.clear();
- SmallSetVector<Instruction*, 128> Worklist;
+ SmallVector<Instruction*, 128> Worklist;
// Collect the set of "root" instructions that are known live.
for (Instruction &I : instructions(F)) {
@@ -329,7 +330,7 @@ void DemandedBits::performAnalysis() {
Type *T = I.getType();
if (T->isIntOrIntVectorTy()) {
if (AliveBits.try_emplace(&I, T->getScalarSizeInBits(), 0).second)
- Worklist.insert(&I);
+ Worklist.push_back(&I);
continue;
}
@@ -340,7 +341,7 @@ void DemandedBits::performAnalysis() {
Type *T = J->getType();
if (T->isIntOrIntVectorTy())
AliveBits[J] = APInt::getAllOnesValue(T->getScalarSizeInBits());
- Worklist.insert(J);
+ Worklist.push_back(J);
}
}
// To save memory, we don't add I to the Visited set here. Instead, we
@@ -411,11 +412,11 @@ void DemandedBits::performAnalysis() {
APInt ABNew = AB | ABPrev;
if (ABNew != ABPrev || ABI == AliveBits.end()) {
AliveBits[I] = std::move(ABNew);
- Worklist.insert(I);
+ Worklist.push_back(I);
}
}
} else if (I && !Visited.count(I)) {
- Worklist.insert(I);
+ Worklist.push_back(I);
}
}
}
OpenPOWER on IntegriCloud