LLVM 20.0.0git
Classes | Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
llvm::AccelTableBase Class Reference

A base class holding non-template-dependant functionality of the AccelTable class. More...

#include "llvm/CodeGen/AccelTable.h"

Inheritance diagram for llvm::AccelTableBase:
Inheritance graph
[legend]

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< 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
 

Protected Types

using StringEntries = MapVector< StringRef, HashData >
 

Protected Member Functions

void computeBucketCount ()
 
 AccelTableBase (HashFn *Hash)
 

Protected Attributes

BumpPtrAllocator Allocator
 Allocator for HashData and Values.
 
StringEntries Entries
 
HashFnHash
 
uint32_t BucketCount = 0
 
uint32_t UniqueHashCount = 0
 
HashList Hashes
 
BucketList Buckets
 

Detailed Description

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 135 of file AccelTable.h.

Member Typedef Documentation

◆ BucketList

Definition at line 161 of file AccelTable.h.

◆ HashFn

Definition at line 137 of file AccelTable.h.

◆ HashList

using llvm::AccelTableBase::HashList = std::vector<HashData *>

Definition at line 160 of file AccelTable.h.

◆ StringEntries

Definition at line 167 of file AccelTable.h.

Constructor & Destructor Documentation

◆ AccelTableBase() [1/2]

llvm::AccelTableBase::AccelTableBase ( HashFn Hash)
inlineprotected

Definition at line 179 of file AccelTable.h.

◆ AccelTableBase() [2/2]

llvm::AccelTableBase::AccelTableBase ( const AccelTableBase )
delete

Member Function Documentation

◆ computeBucketCount()

void AccelTableBase::computeBucketCount ( )
protected

◆ dump()

void llvm::AccelTableBase::dump ( ) const
inline

Definition at line 190 of file AccelTable.h.

References llvm::dbgs(), and print().

◆ finalize()

void AccelTableBase::finalize ( AsmPrinter Asm,
StringRef  Prefix 
)

◆ getBucketCount()

uint32_t llvm::AccelTableBase::getBucketCount ( ) const
inline

Definition at line 184 of file AccelTable.h.

References BucketCount.

◆ getBuckets()

ArrayRef< HashList > llvm::AccelTableBase::getBuckets ( ) const
inline

Definition at line 183 of file AccelTable.h.

References Buckets.

◆ getUniqueHashCount()

uint32_t llvm::AccelTableBase::getUniqueHashCount ( ) const
inline

Definition at line 185 of file AccelTable.h.

References UniqueHashCount.

◆ getUniqueNameCount()

uint32_t llvm::AccelTableBase::getUniqueNameCount ( ) const
inline

◆ operator=()

void llvm::AccelTableBase::operator= ( const AccelTableBase )
delete

◆ print()

void AccelTableBase::print ( raw_ostream OS) const

Definition at line 793 of file AccelTable.cpp.

References llvm::Data, Name, and OS.

Referenced by dump().

Member Data Documentation

◆ Allocator

BumpPtrAllocator llvm::AccelTableBase::Allocator
protected

Allocator for HashData and Values.

Definition at line 165 of file AccelTable.h.

◆ BucketCount

uint32_t llvm::AccelTableBase::BucketCount = 0
protected

Definition at line 171 of file AccelTable.h.

Referenced by computeBucketCount(), finalize(), and getBucketCount().

◆ Buckets

BucketList llvm::AccelTableBase::Buckets
protected

Definition at line 175 of file AccelTable.h.

Referenced by finalize(), and getBuckets().

◆ Entries

StringEntries llvm::AccelTableBase::Entries
protected

◆ Hash

HashFn* llvm::AccelTableBase::Hash
protected

Definition at line 170 of file AccelTable.h.

◆ Hashes

HashList llvm::AccelTableBase::Hashes
protected

Definition at line 174 of file AccelTable.h.

◆ UniqueHashCount

uint32_t llvm::AccelTableBase::UniqueHashCount = 0
protected

Definition at line 172 of file AccelTable.h.

Referenced by computeBucketCount(), and getUniqueHashCount().


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