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 | |
parent | 29063554d057ed8aa6ae69b2719c62d24e00e469 (diff) | |
download | external_llvm-e0ff9ae91e0490cb43ab05ca90416e6b03dffc18.zip external_llvm-e0ff9ae91e0490cb43ab05ca90416e6b03dffc18.tar.gz external_llvm-e0ff9ae91e0490cb43ab05ca90416e6b03dffc18.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
-rw-r--r-- | tools/llvmc2/CompilationGraph.cpp | 3 | ||||
-rw-r--r-- | tools/llvmc2/CompilationGraph.h | 18 | ||||
-rw-r--r-- | utils/TableGen/LLVMCConfigurationEmitter.cpp | 3 |
3 files changed, 18 insertions, 6 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> { diff --git a/utils/TableGen/LLVMCConfigurationEmitter.cpp b/utils/TableGen/LLVMCConfigurationEmitter.cpp index 5a7bf67..d9d9fda 100644 --- a/utils/TableGen/LLVMCConfigurationEmitter.cpp +++ b/utils/TableGen/LLVMCConfigurationEmitter.cpp @@ -948,8 +948,7 @@ bool EmitEdgePropertyTest1Arg(const std::string& PropName, throw OptName + ": incorrect option type!"; O << OptDesc.GenVariableName(); return true; - } - else if (PropName == "if_input_languages_contain") { + } else if (PropName == "if_input_languages_contain") { O << "InLangs.count(\"" << OptName << "\") != 0"; return true; } |