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 | e0ff9ae91e0490cb43ab05ca90416e6b03dffc18 (patch) | |
tree | dd8ee27eed2218a1bdb516350ec1d315745101bf /tools | |
parent | 29063554d057ed8aa6ae69b2719c62d24e00e469 (diff) | |
download | llvm-e0ff9ae91e0490cb43ab05ca90416e6b03dffc18.tar.gz llvm-e0ff9ae91e0490cb43ab05ca90416e6b03dffc18.tar.bz2 llvm-e0ff9ae91e0490cb43ab05ca90416e6b03dffc18.tar.xz |
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 73664028ca..1b50711487 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 57deef30a5..132deb8822 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> { |