[llvm-commits] [llvm] r50766 - in /llvm/trunk: tools/llvmc2/CompilationGraph.cpp tools/llvmc2/CompilationGraph.h utils/TableGen/LLVMCConfigurationEmitter.cpp

Mikhail Glushenkov foldr at codedgers.com
Tue May 6 11:18:58 PDT 2008


Author: foldr
Date: Tue May  6 13:18:58 2008
New Revision: 50766

URL: http://llvm.org/viewvc/llvm-project?rev=50766&view=rev
Log:
Change from llvm::SmallSet<std::string> to llvm::StringMap<char>.

Modified:
    llvm/trunk/tools/llvmc2/CompilationGraph.cpp
    llvm/trunk/tools/llvmc2/CompilationGraph.h
    llvm/trunk/utils/TableGen/LLVMCConfigurationEmitter.cpp

Modified: llvm/trunk/tools/llvmc2/CompilationGraph.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvmc2/CompilationGraph.cpp?rev=50766&r1=50765&r2=50766&view=diff

==============================================================================
--- llvm/trunk/tools/llvmc2/CompilationGraph.cpp (original)
+++ llvm/trunk/tools/llvmc2/CompilationGraph.cpp Tue May  6 13:18:58 2008
@@ -50,8 +50,7 @@
         MaxEdge = E;
         MaxWeight = EW;
         SingleMax = true;
-      }
-      else if (EW == MaxWeight) {
+      } else if (EW == MaxWeight) {
         SingleMax = false;
       }
     }

Modified: llvm/trunk/tools/llvmc2/CompilationGraph.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvmc2/CompilationGraph.h?rev=50766&r1=50765&r2=50766&view=diff

==============================================================================
--- llvm/trunk/tools/llvmc2/CompilationGraph.h (original)
+++ llvm/trunk/tools/llvmc2/CompilationGraph.h Tue May  6 13:18:58 2008
@@ -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> {

Modified: llvm/trunk/utils/TableGen/LLVMCConfigurationEmitter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/LLVMCConfigurationEmitter.cpp?rev=50766&r1=50765&r2=50766&view=diff

==============================================================================
--- llvm/trunk/utils/TableGen/LLVMCConfigurationEmitter.cpp (original)
+++ llvm/trunk/utils/TableGen/LLVMCConfigurationEmitter.cpp Tue May  6 13:18:58 2008
@@ -948,8 +948,7 @@
       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;
   }





More information about the llvm-commits mailing list