diff options
author | Mikhail Glushenkov <foldr@codedgers.com> | 2008-05-06 18:18:58 +0000 |
---|---|---|
committer | Mikhail Glushenkov <foldr@codedgers.com> | 2008-05-06 18:18:58 +0000 |
commit | b0387308d8801b646898c6e209e5875e4fd1bc88 (patch) | |
tree | dd8ee27eed2218a1bdb516350ec1d315745101bf /tools | |
parent | dfcad6c1c44f9d20ade7da5e6caea0e1b0b99d47 (diff) | |
download | external_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.cpp | 3 | ||||
-rw-r--r-- | tools/llvmc2/CompilationGraph.h | 18 |
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> { |