From f0511a7257e86e00ea907ec9d7b6e36191c019ff Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Mon, 7 Jan 2019 18:15:11 +0000 Subject: [PATCH] Revert "[DemandedBits] Use SetVector for Worklist" This reverts commit r350547. Seeing assertion failures on clang tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@350549 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Analysis/DemandedBits.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/Analysis/DemandedBits.cpp b/lib/Analysis/DemandedBits.cpp index 016399ff592..ba310d8d321 100644 --- a/lib/Analysis/DemandedBits.cpp +++ b/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 Worklist; + SmallVector 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); } } } -- 2.50.1