Index: llvm/trunk/tools/llvm-exegesis/lib/Clustering.cpp =================================================================== --- llvm/trunk/tools/llvm-exegesis/lib/Clustering.cpp +++ llvm/trunk/tools/llvm-exegesis/lib/Clustering.cpp @@ -8,8 +8,8 @@ //===----------------------------------------------------------------------===// #include "Clustering.h" +#include "llvm/ADT/SetVector.h" #include -#include namespace llvm { namespace exegesis { @@ -120,11 +120,12 @@ CurrentCluster.PointIndices.push_back(P); // Process P's neighbors. - std::unordered_set ToProcess(Neighbors.begin(), Neighbors.end()); + llvm::SetVector ToProcess; + ToProcess.insert(Neighbors.begin(), Neighbors.end()); while (!ToProcess.empty()) { // Retrieve a point from the set. const size_t Q = *ToProcess.begin(); - ToProcess.erase(Q); + ToProcess.erase(ToProcess.begin()); if (ClusterIdForPoint_[Q].isNoise()) { // Change noise point to border point.