diff options
| author | 2020-08-03 15:06:44 +0000 | |
|---|---|---|
| committer | 2020-08-03 15:06:44 +0000 | |
| commit | b64793999546ed8adebaeebd9d8345d18db8927d (patch) | |
| tree | 4357c27b561d73b0e089727c6ed659f2ceff5f47 /gnu/llvm/tools/llvm-dwp/DWPStringPool.h | |
| parent | Add support for UTF-8 DISPLAY-HINTs with octet length. For now only (diff) | |
| download | wireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.tar.xz wireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.zip | |
Remove LLVM 8.0.1 files.
Diffstat (limited to 'gnu/llvm/tools/llvm-dwp/DWPStringPool.h')
| -rw-r--r-- | gnu/llvm/tools/llvm-dwp/DWPStringPool.h | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/gnu/llvm/tools/llvm-dwp/DWPStringPool.h b/gnu/llvm/tools/llvm-dwp/DWPStringPool.h deleted file mode 100644 index 7d41176b561..00000000000 --- a/gnu/llvm/tools/llvm-dwp/DWPStringPool.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef TOOLS_LLVM_DWP_DWPSTRINGPOOL -#define TOOLS_LLVM_DWP_DWPSTRINGPOOL - -#include "llvm/ADT/DenseMap.h" -#include "llvm/MC/MCSection.h" -#include "llvm/MC/MCStreamer.h" -#include <cassert> - -namespace llvm { -class DWPStringPool { - - struct CStrDenseMapInfo { - static inline const char *getEmptyKey() { - return reinterpret_cast<const char *>(~static_cast<uintptr_t>(0)); - } - static inline const char *getTombstoneKey() { - return reinterpret_cast<const char *>(~static_cast<uintptr_t>(1)); - } - static unsigned getHashValue(const char *Val) { - assert(Val != getEmptyKey() && "Cannot hash the empty key!"); - assert(Val != getTombstoneKey() && "Cannot hash the tombstone key!"); - return (unsigned)hash_value(StringRef(Val)); - } - static bool isEqual(const char *LHS, const char *RHS) { - if (RHS == getEmptyKey()) - return LHS == getEmptyKey(); - if (RHS == getTombstoneKey()) - return LHS == getTombstoneKey(); - return strcmp(LHS, RHS) == 0; - } - }; - - MCStreamer &Out; - MCSection *Sec; - DenseMap<const char *, uint32_t, CStrDenseMapInfo> Pool; - uint32_t Offset = 0; - -public: - DWPStringPool(MCStreamer &Out, MCSection *Sec) : Out(Out), Sec(Sec) {} - - uint32_t getOffset(const char *Str, unsigned Length) { - assert(strlen(Str) + 1 == Length && "Ensure length hint is correct"); - - auto Pair = Pool.insert(std::make_pair(Str, Offset)); - if (Pair.second) { - Out.SwitchSection(Sec); - Out.EmitBytes(StringRef(Str, Length)); - Offset += Length; - } - - return Pair.first->second; - } -}; -} - -#endif |
