diff options
| author | Nikita Popov <nikita.ppv@gmail.com> | 2019-01-07 18:15:11 +0000 |
|---|---|---|
| committer | Nikita Popov <nikita.ppv@gmail.com> | 2019-01-07 18:15:11 +0000 |
| commit | 8dd19ed3ecb3e0654009eba214b2a6241808869d (patch) | |
| tree | 313113d642602acd18e4a1e272838cc57a3c4c8a /llvm/lib/Analysis | |
| parent | 32f77f2b52bd4ad051c29446d4cd69e6dda5c2a9 (diff) | |
| download | bcm5719-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.cpp | 13 |
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); } } } |

