forked from OSchip/llvm-project
Change from llvm::SmallSet<std::string> to llvm::StringMap<char>.
llvm-svn: 50766
This commit is contained in:
parent
5e9d6a3dd8
commit
eeac27e38c
|
@ -50,8 +50,7 @@ namespace {
|
||||||
MaxEdge = E;
|
MaxEdge = E;
|
||||||
MaxWeight = EW;
|
MaxWeight = EW;
|
||||||
SingleMax = true;
|
SingleMax = true;
|
||||||
}
|
} else if (EW == MaxWeight) {
|
||||||
else if (EW == MaxWeight) {
|
|
||||||
SingleMax = false;
|
SingleMax = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,16 +20,30 @@
|
||||||
#include "llvm/ADT/GraphTraits.h"
|
#include "llvm/ADT/GraphTraits.h"
|
||||||
#include "llvm/ADT/IntrusiveRefCntPtr.h"
|
#include "llvm/ADT/IntrusiveRefCntPtr.h"
|
||||||
#include "llvm/ADT/iterator"
|
#include "llvm/ADT/iterator"
|
||||||
#include "llvm/ADT/SmallSet.h"
|
|
||||||
#include "llvm/ADT/SmallVector.h"
|
#include "llvm/ADT/SmallVector.h"
|
||||||
#include "llvm/ADT/StringMap.h"
|
#include "llvm/ADT/StringMap.h"
|
||||||
#include "llvm/System/Path.h"
|
#include "llvm/System/Path.h"
|
||||||
|
|
||||||
|
#include <cassert>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace llvmc {
|
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.
|
// An edge of the compilation graph.
|
||||||
class Edge : public llvm::RefCountedBaseVPTR<Edge> {
|
class Edge : public llvm::RefCountedBaseVPTR<Edge> {
|
||||||
|
|
|
@ -948,8 +948,7 @@ bool EmitEdgePropertyTest1Arg(const std::string& PropName,
|
||||||
throw OptName + ": incorrect option type!";
|
throw OptName + ": incorrect option type!";
|
||||||
O << OptDesc.GenVariableName();
|
O << OptDesc.GenVariableName();
|
||||||
return true;
|
return true;
|
||||||
}
|
} else if (PropName == "if_input_languages_contain") {
|
||||||
else if (PropName == "if_input_languages_contain") {
|
|
||||||
O << "InLangs.count(\"" << OptName << "\") != 0";
|
O << "InLangs.count(\"" << OptName << "\") != 0";
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue