aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorMikhail Glushenkov <foldr@codedgers.com>2008-05-06 18:18:58 +0000
committerMikhail Glushenkov <foldr@codedgers.com>2008-05-06 18:18:58 +0000
commitb0387308d8801b646898c6e209e5875e4fd1bc88 (patch)
treedd8ee27eed2218a1bdb516350ec1d315745101bf /tools
parentdfcad6c1c44f9d20ade7da5e6caea0e1b0b99d47 (diff)
downloadexternal_llvm-b0387308d8801b646898c6e209e5875e4fd1bc88.zip
external_llvm-b0387308d8801b646898c6e209e5875e4fd1bc88.tar.gz
external_llvm-b0387308d8801b646898c6e209e5875e4fd1bc88.tar.bz2
Change from llvm::SmallSet<std::string> to llvm::StringMap<char>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50766 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools')
-rw-r--r--tools/llvmc2/CompilationGraph.cpp3
-rw-r--r--tools/llvmc2/CompilationGraph.h18
2 files changed, 17 insertions, 4 deletions
diff --git a/tools/llvmc2/CompilationGraph.cpp b/tools/llvmc2/CompilationGraph.cpp
index 7366402..1b50711 100644
--- a/tools/llvmc2/CompilationGraph.cpp
+++ b/tools/llvmc2/CompilationGraph.cpp
@@ -50,8 +50,7 @@ namespace {
MaxEdge = E;
MaxWeight = EW;
SingleMax = true;
- }
- else if (EW == MaxWeight) {
+ } else if (EW == MaxWeight) {
SingleMax = false;
}
}
diff --git a/tools/llvmc2/CompilationGraph.h b/tools/llvmc2/CompilationGraph.h
index 57deef3..132deb8 100644
--- a/tools/llvmc2/CompilationGraph.h
+++ b/tools/llvmc2/CompilationGraph.h
@@ -20,16 +20,30 @@
#include "llvm/ADT/GraphTraits.h"
#include "llvm/ADT/IntrusiveRefCntPtr.h"
#include "llvm/ADT/iterator"
-#include "llvm/ADT/SmallSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/System/Path.h"
+#include <cassert>
#include <string>
namespace llvmc {
- typedef llvm::SmallSet<std::string, 5> InputLanguagesSet;
+ // A wrapper for StringMap that provides set-like functionality.
+ // Only insert() and count() methods are used by my code.
+ template <class AllocatorTy = llvm::MallocAllocator>
+ class StringSet : public llvm::StringMap<char, AllocatorTy> {
+ typedef llvm::StringMap<char, AllocatorTy> base;
+ public:
+ void insert (const std::string& InLang) {
+ assert(!InLang.empty());
+ const char* KeyStart = &InLang[0];
+ const char* KeyEnd = KeyStart + InLang.size();
+ base::insert(llvm::StringMapEntry<char>::
+ Create(KeyStart, KeyEnd, base::getAllocator(), '+'));
+ }
+ };
+ typedef StringSet<> InputLanguagesSet;
// An edge of the compilation graph.
class Edge : public llvm::RefCountedBaseVPTR<Edge> {