Change from llvm::SmallSet<std::string> to llvm::StringMap<char>.
authorMikhail Glushenkov <foldr@codedgers.com>
Tue, 6 May 2008 18:18:58 +0000 (18:18 +0000)
committerMikhail Glushenkov <foldr@codedgers.com>
Tue, 6 May 2008 18:18:58 +0000 (18:18 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50766 91177308-0d34-0410-b5e6-96231b3b80d8

tools/llvmc2/CompilationGraph.cpp
tools/llvmc2/CompilationGraph.h
utils/TableGen/LLVMCConfigurationEmitter.cpp

index 73664028cad1766a6ec19a30b3b0beb3bbf20956..1b507114874196f5aa4f8669d5fc22db07dbca6e 100644 (file)
@@ -50,8 +50,7 @@ namespace {
         MaxEdge = E;
         MaxWeight = EW;
         SingleMax = true;
-      }
-      else if (EW == MaxWeight) {
+      } else if (EW == MaxWeight) {
         SingleMax = false;
       }
     }
index 57deef30a5c61af1e71333bf24526664806a94ad..132deb8822f8fb1f2ace87df37c72984479fc4c1 100644 (file)
 #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> {
index 5a7bf67c0a0f07766fac0c0c80162e4b8959d9cb..d9d9fda8c842f60cfba60dcb4582fa0066aa4aa7 100644 (file)
@@ -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;
   }