LLVM 17.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 | |
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 = StringMap< HashData, BumpPtrAllocator & > |
Protected Member Functions | |
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 134 of file AccelTable.h.
using llvm::AccelTableBase::BucketList = std::vector<HashList> |
Definition at line 154 of file AccelTable.h.
Definition at line 136 of file AccelTable.h.
using llvm::AccelTableBase::HashList = std::vector<HashData *> |
Definition at line 153 of file AccelTable.h.
|
protected |
Definition at line 160 of file AccelTable.h.
|
inlineprotected |
Definition at line 172 of file AccelTable.h.
|
delete |
|
protected |
Definition at line 33 of file AccelTable.cpp.
References llvm::array_pod_sort(), BucketCount, E, Entries, P, llvm::StringMapImpl::size(), and UniqueHashCount.
Referenced by finalize().
|
inline |
Definition at line 183 of file AccelTable.h.
References llvm::dbgs(), and print().
void AccelTableBase::finalize | ( | AsmPrinter * | Asm, |
StringRef | Prefix | ||
) |
Definition at line 53 of file AccelTable.cpp.
References A, B, BucketCount, Buckets, computeBucketCount(), E, Entries, LHS, RHS, and llvm::stable_sort().
Referenced by llvm::emitAppleAccelTableImpl(), and llvm::emitDWARF5AccelTable().
|
inline |
Definition at line 177 of file AccelTable.h.
References BucketCount.
Definition at line 176 of file AccelTable.h.
References Buckets.
|
inline |
Definition at line 178 of file AccelTable.h.
References UniqueHashCount.
|
inline |
Definition at line 179 of file AccelTable.h.
References Entries, and llvm::StringMapImpl::size().
|
delete |
void AccelTableBase::print | ( | raw_ostream & | OS | ) | const |
|
protected |
Allocator for HashData and Values.
Definition at line 158 of file AccelTable.h.
|
protected |
Definition at line 164 of file AccelTable.h.
Referenced by computeBucketCount(), finalize(), and getBucketCount().
|
protected |
Definition at line 168 of file AccelTable.h.
Referenced by finalize(), and getBuckets().
|
protected |
Definition at line 161 of file AccelTable.h.
Referenced by computeBucketCount(), finalize(), and getUniqueNameCount().
|
protected |
Definition at line 163 of file AccelTable.h.
|
protected |
Definition at line 167 of file AccelTable.h.
|
protected |
Definition at line 165 of file AccelTable.h.
Referenced by computeBucketCount(), and getUniqueHashCount().