LLVM 19.0.0git
Public Member Functions | List of all members
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 >:
Inheritance graph
[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
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
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 202 of file AccelTable.h.

Constructor & Destructor Documentation

◆ AccelTable()

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

Definition at line 204 of file AccelTable.h.

Member Function Documentation

◆ addEntries()

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

◆ addName()

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

Definition at line 215 of file AccelTable.h.

References Allocator, assert(), and Name.

◆ clear()

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

◆ getEntries()

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

Definition at line 210 of file AccelTable.h.

References llvm::AccelTableBase::Entries.

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


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