LLVM
8.0.1
|
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. More... | |
StringEntries | Entries |
HashFn * | Hash |
uint32_t | BucketCount |
uint32_t | UniqueHashCount |
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 138 of file AccelTable.h.
using llvm::AccelTableBase::BucketList = std::vector<HashList> |
Definition at line 158 of file AccelTable.h.
Definition at line 140 of file AccelTable.h.
using llvm::AccelTableBase::HashList = std::vector<HashData *> |
Definition at line 157 of file AccelTable.h.
|
protected |
Definition at line 164 of file AccelTable.h.
|
inlineprotected |
Definition at line 176 of file AccelTable.h.
References llvm::HexStyle::Asm, finalize, and llvm::cl::Prefix.
|
delete |
|
protected |
Definition at line 35 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 187 of file AccelTable.h.
References llvm::dbgs(), and llvm::AccelTableData::print().
Referenced by finalize().
void AccelTableBase::finalize | ( | AsmPrinter * | Asm, |
StringRef | Prefix | ||
) |
Definition at line 55 of file AccelTable.cpp.
References llvm::HexStyle::Asm, assert(), llvm::dwarf::AtomTypeString(), B, llvm::ArrayRef< T >::begin(), llvm::DIEInteger::BestForm(), BucketCount, Buckets, computeBucketCount(), llvm::AsmPrinter::createTempSymbol(), llvm::StringRef::data(), llvm::dbgs(), dump(), llvm::dwarf::DW_hash_function_djb, E, llvm::AsmPrinter::emitDwarfStringOffset(), llvm::AsmPrinter::emitDwarfSymbolReference(), llvm::AsmPrinter::emitInt16(), llvm::AsmPrinter::emitInt32(), llvm::AsmPrinter::EmitLabelDifference(), llvm::AsmPrinter::EmitULEB128(), llvm::DIEInteger::EmitValue(), llvm::empty(), llvm::ArrayRef< T >::end(), Entries, llvm::enumerate(), llvm::dwarf::FormEncodingString(), getBucketCount(), llvm::DwarfStringPoolEntryRef::getString(), getUniqueHashCount(), getUniqueNameCount(), Hash, llvm::AccelTableBase::HashData::HashValue, llvm::dwarf::IndexString(), llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::insert(), llvm_unreachable, Magic, llvm::max(), llvm::AsmPrinter::OutStreamer, print(), llvm::SmallVectorTemplateBase< T >::push_back(), llvm::SmallVectorBase::size(), llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::size(), llvm::ArrayRef< T >::size(), llvm::String, llvm::Tag, llvm::dwarf::TagString(), UniqueHashCount, and llvm::IndexedInstrProf::Version.
Referenced by llvm::emitAppleAccelTableImpl(), and llvm::emitDWARF5AccelTable().
|
inline |
Definition at line 181 of file AccelTable.h.
Referenced by finalize().
Definition at line 180 of file AccelTable.h.
|
inline |
Definition at line 182 of file AccelTable.h.
Referenced by finalize().
|
inline |
Definition at line 183 of file AccelTable.h.
References llvm::AccelTableData::print(), and llvm::StringMapImpl::size().
Referenced by finalize().
|
delete |
void AccelTableBase::print | ( | raw_ostream & | OS | ) | const |
Definition at line 684 of file AccelTable.cpp.
References Buckets, E, Entries, and Hash.
Referenced by finalize(), and llvm::AppleAccelTableData::Atom::print().
|
protected |
Allocator for HashData and Values.
Definition at line 162 of file AccelTable.h.
|
protected |
Definition at line 168 of file AccelTable.h.
Referenced by computeBucketCount(), llvm::AppleAccelTableStaticTypeData::emit(), and finalize().
|
protected |
Definition at line 172 of file AccelTable.h.
Referenced by finalize(), and print().
|
protected |
Definition at line 165 of file AccelTable.h.
Referenced by computeBucketCount(), finalize(), and print().
|
protected |
Definition at line 167 of file AccelTable.h.
Referenced by finalize(), and print().
|
protected |
Definition at line 171 of file AccelTable.h.
|
protected |
Definition at line 169 of file AccelTable.h.
Referenced by computeBucketCount(), and finalize().