LLVM 22.0.0git
llvm::AccelTable< DataT > Class Template Reference

This class holds an abstract representation of an Accelerator Table, consisting of a sequence of buckets, each bucket containint a sequence of HashData entries. More...

#include "llvm/CodeGen/AccelTable.h"

Inheritance diagram for llvm::AccelTable< DataT >:
[legend]

Public Member Functions

 AccelTable ()
template<typename... Types>
void addName (DwarfStringPoolEntryRef Name, Types &&... Args)
void clear ()
void addEntries (AccelTable< DataT > &Table)
const StringEntries getEntries () const
Public Member Functions inherited from llvm::AccelTableBase
LLVM_ABI void finalize (AsmPrinter *Asm, StringRef Prefix)
ArrayRef< HashListgetBuckets () 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

Additional Inherited Members

Public Types inherited from llvm::AccelTableBase
using HashFn = uint32_t(StringRef)
using HashList = std::vector<HashData *>
using BucketList = std::vector<HashList>
Protected Types inherited from llvm::AccelTableBase
using StringEntries = MapVector<StringRef, HashData>
Protected Member Functions inherited from llvm::AccelTableBase
LLVM_ABI void computeBucketCount ()
 AccelTableBase (HashFn *Hash)
Protected Attributes inherited from llvm::AccelTableBase
BumpPtrAllocator Allocator
 Allocator for HashData and Values.
StringEntries Entries
HashFnHash
uint32_t BucketCount = 0
uint32_t UniqueHashCount = 0
HashList Hashes
BucketList Buckets

Detailed Description

template<typename DataT>
class llvm::AccelTable< DataT >

This class holds an abstract representation of an Accelerator Table, consisting of a sequence of buckets, each bucket containint a sequence of HashData entries.

User of DwarfEmitterImpl should call initialization code for AsmPrinter:

The class is parameterized by the type of entries it holds. The type template parameter also defines the hash function to use for hashing names.

InitializeAllTargetInfos(); InitializeAllTargetMCs(); InitializeAllTargets(); InitializeAllAsmPrinters();

Definition at line 203 of file AccelTable.h.

Constructor & Destructor Documentation

โ—† AccelTable()

template<typename DataT>
llvm::AccelTable< DataT >::AccelTable ( )
inline

Definition at line 205 of file AccelTable.h.

References llvm::AccelTableBase::AccelTableBase().

Referenced by addEntries().

Member Function Documentation

โ—† addEntries()

template<typename DataT>
void llvm::AccelTable< DataT >::addEntries ( AccelTable< DataT > & Table)

References AccelTable().

โ—† addName()

template<typename AccelTableDataT>
template<typename... Types>
void llvm::AccelTable< AccelTableDataT >::addName ( DwarfStringPoolEntryRef Name,
Types &&... Args )

โ—† clear()

template<typename DataT>
void llvm::AccelTable< DataT >::clear ( )
inline

Definition at line 209 of file AccelTable.h.

References llvm::AccelTableBase::Entries.

โ—† getEntries()

template<typename DataT>
const StringEntries llvm::AccelTable< DataT >::getEntries ( ) const
inline

Definition at line 211 of file AccelTable.h.

References llvm::AccelTableBase::Entries.

Referenced by llvm::DWARF5AccelTable::addTypeEntries().


The documentation for this class was generated from the following file: