Non‐template base for AccelTable shared state and finalization.

Synopsis

Declared in <llvm/CodeGen/AccelTable.h>

class AccelTableBase;

Description

Clients should not use this class directly but rather instantiate AccelTable with a type derived from AccelTableData.

Types

Name

Description

HashData

Represents a group of entries with identical name (and hence, hash value).

Type Aliases

Name

Description

BucketList

Buckets, each holding the hash groups that fall into that bucket.

HashFn

Hash function type that maps a name to a 32‐bit hash value.

HashList

List of hash groups in the table.

Member Functions

Name

Description

AccelTableBase [constructor] [deleted]

AccelTableBase is non‐copyable.

operator= [deleted]

AccelTableBase is non‐assignable.

dump

Dump the table to the debug stream.

finalize

Finalize the table layout and assign symbols using Asm and Prefix.

getBucketCount

Return the number of buckets.

getBuckets

Return the finalized buckets.

getUniqueHashCount

Return the number of unique hash values.

getUniqueNameCount

Return the number of unique names.

print

Print the table to OS for debugging.

Protected Type Aliases

Name

Description

StringEntries

Map from name string to the corresponding hash group.

Protected Member Functions

Name

Description

AccelTableBase [constructor]

Construct a base table that hashes names with Hash.

computeBucketCount

Compute the number of buckets for the current set of hashes.

Protected Data Members

Name

Description

Allocator

Allocator for HashData and Values.

BucketCount

Number of buckets after finalization.

Buckets

Bucketed view of hash groups.

Entries

Entries keyed by name.

Hash

Hash function used for names in this table.

Hashes

Flat list of hash groups.

UniqueHashCount

Number of unique hash values after finalization.

Derived Classes

Name

Description

AccelTable

Abstract accelerator table of buckets containing HashData entries.

Created with MrDocs