LLVM: include/llvm/DWARFLinker/StringPool.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9#ifndef LLVM_DWARFLINKER_STRINGPOOL_H
10#define LLVM_DWARFLINKER_STRINGPOOL_H
11
16#include <string_view>
17
18namespace llvm {
20
21
22
24
26public:
27
31
32
36
37
39 return KeyData.getKey();
40 }
41
42
48};
49
52 llvm::parallel::PerThreadBumpPtrAllocator,
53 StringPoolEntryInfo> {
54public:
59
64
66 return Allocator;
67 }
68
69 void clear() { Allocator.Reset(); }
70
71private:
73};
74
75}
76}
77
78#endif
This file defines the BumpPtrAllocator interface.
ConcurrentHashTableByPtr(llvm::parallel::PerThreadBumpPtrAllocator &Allocator, uint64_t EstimatedSize=100000, size_t ThreadsNum=parallel::strategy.compute_thread_count(), size_t InitialNumberOfBuckets=128)
StringMapEntry - This is used to represent one value that is inserted into a StringMap.
static StringMapEntry * create(StringRef key, AllocatorTy &allocator, InitTy &&...initVals)
StringRef - Represent a constant reference to a string, i.e.
Definition StringPool.h:25
static uint64_t getHashValue(const StringRef &Key)
Definition StringPool.h:28
static StringEntry * create(const StringRef &Key, llvm::parallel::PerThreadBumpPtrAllocator &Allocator)
Definition StringPool.h:44
static bool isEqual(const StringRef &LHS, const StringRef &RHS)
Definition StringPool.h:33
static StringRef getKey(const StringEntry &KeyData)
Definition StringPool.h:38
llvm::parallel::PerThreadBumpPtrAllocator & getAllocatorRef()
Definition StringPool.h:65
StringPool()
Definition StringPool.h:55
StringPool(size_t InitialSize)
Definition StringPool.h:60
void clear()
Definition StringPool.h:69
StringMapEntry< EmptyStringSetTag > StringEntry
StringEntry keeps data of the string: the length, external offset and a string body which is placed r...
Definition StringPool.h:23
PerThreadAllocator< BumpPtrAllocator > PerThreadBumpPtrAllocator
This is an optimization pass for GlobalISel generic memory operations.
LLVM_ABI uint64_t xxh3_64bits(ArrayRef< uint8_t > data)
LLVM_ATTRIBUTE_VISIBILITY_DEFAULT AnalysisKey InnerAnalysisManagerProxy< AnalysisManagerT, IRUnitT, ExtraArgTs... >::Key