LLVM 22.0.0git
|
A base class holding non-template-dependant functionality of the AccelTable class. More...
#include "llvm/CodeGen/AccelTable.h"
Classes | |
struct | HashData |
Represents a group of entries with identical name (and hence, hash value). More... |
Public Types | |
using | HashFn = uint32_t(StringRef) |
using | HashList = std::vector<HashData *> |
using | BucketList = std::vector<HashList> |
Public Member Functions | |
LLVM_ABI void | finalize (AsmPrinter *Asm, StringRef Prefix) |
ArrayRef< HashList > | getBuckets () const |
uint32_t | getBucketCount () const |
uint32_t | getUniqueHashCount () const |
uint32_t | getUniqueNameCount () const |
void | print (raw_ostream &OS) const |
void | dump () const |
AccelTableBase (const AccelTableBase &)=delete | |
void | operator= (const AccelTableBase &)=delete |
Protected Types | |
using | StringEntries = MapVector<StringRef, HashData> |
Protected Member Functions | |
LLVM_ABI void | computeBucketCount () |
AccelTableBase (HashFn *Hash) |
Protected Attributes | |
BumpPtrAllocator | Allocator |
Allocator for HashData and Values. | |
StringEntries | Entries |
HashFn * | Hash |
uint32_t | BucketCount = 0 |
uint32_t | UniqueHashCount = 0 |
HashList | Hashes |
BucketList | Buckets |
A base class holding non-template-dependant functionality of the AccelTable class.
Clients should not use this class directly but rather instantiate AccelTable with a type derived from AccelTableData.
Definition at line 136 of file AccelTable.h.
using llvm::AccelTableBase::BucketList = std::vector<HashList> |
Definition at line 162 of file AccelTable.h.
Definition at line 138 of file AccelTable.h.
using llvm::AccelTableBase::HashList = std::vector<HashData *> |
Definition at line 161 of file AccelTable.h.
|
protected |
Definition at line 168 of file AccelTable.h.
|
inlineprotected |
Definition at line 180 of file AccelTable.h.
References Hash.
Referenced by llvm::AccelTable< DataT >::AccelTable(), AccelTableBase(), and operator=().
|
delete |
References AccelTableBase().
|
protected |
Definition at line 33 of file AccelTable.cpp.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), BucketCount, Entries, llvm::dwarf::getDebugNamesBucketCount(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::SmallVectorImpl< T >::reserve(), llvm::sort(), llvm::unique(), and UniqueHashCount.
Referenced by finalize().
|
inline |
Definition at line 191 of file AccelTable.h.
References llvm::dbgs(), and print().
void AccelTableBase::finalize | ( | AsmPrinter * | Asm, |
StringRef | Prefix ) |
Definition at line 43 of file AccelTable.cpp.
References A(), B(), BucketCount, Buckets, computeBucketCount(), Entries, llvm::stable_sort(), and llvm::unique().
Referenced by llvm::emitAppleAccelTableImpl(), llvm::emitDWARF5AccelTable(), and llvm::emitDWARF5AccelTable().
|
inline |
Definition at line 185 of file AccelTable.h.
References BucketCount.
Definition at line 184 of file AccelTable.h.
References Buckets.
|
inline |
Definition at line 186 of file AccelTable.h.
References UniqueHashCount.
|
inline |
Definition at line 187 of file AccelTable.h.
References Entries.
|
delete |
References AccelTableBase().
void AccelTableBase::print | ( | raw_ostream & | OS | ) | const |
Definition at line 793 of file AccelTable.cpp.
References Buckets, llvm::Data, Entries, and Hash.
Referenced by dump().
|
protected |
Allocator for HashData and Values.
Definition at line 166 of file AccelTable.h.
Referenced by llvm::AccelTable< DataT >::addName().
|
protected |
Definition at line 172 of file AccelTable.h.
Referenced by computeBucketCount(), finalize(), and getBucketCount().
|
protected |
Definition at line 176 of file AccelTable.h.
Referenced by llvm::AccelTable< DataT >::addName(), finalize(), getBuckets(), and print().
|
protected |
Definition at line 169 of file AccelTable.h.
Referenced by llvm::AccelTable< DataT >::addName(), llvm::AccelTable< DataT >::clear(), computeBucketCount(), llvm::DWARF5AccelTable::convertDieToOffset(), finalize(), llvm::AccelTable< DataT >::getEntries(), getUniqueNameCount(), and print().
|
protected |
Definition at line 171 of file AccelTable.h.
Referenced by AccelTableBase(), llvm::AccelTable< DataT >::addName(), and print().
|
protected |
Definition at line 175 of file AccelTable.h.
|
protected |
Definition at line 173 of file AccelTable.h.
Referenced by computeBucketCount(), and getUniqueHashCount().