LLVM: llvm::OnDiskChainedHashTableGenerator< Info > Class Template Reference (original) (raw)

Generates an on disk hash table. More...

#include "[llvm/Support/OnDiskHashTable.h](OnDiskHashTable%5F8h%5Fsource.html)"

Public Member Functions
void insert (typename Info::key_type_ref Key, typename Info::data_type_ref Data)
Insert an entry into the table.
void insert (typename Info::key_type_ref Key, typename Info::data_type_ref Data, Info &InfoObj)
Insert an entry into the table.
bool contains (typename Info::key_type_ref Key, Info &InfoObj)
Determine whether an entry has been inserted.
offset_type Emit (raw_ostream &Out)
Emit the table to Out, which must not be at offset 0.
offset_type Emit (raw_ostream &Out, Info &InfoObj)
Emit the table to Out, which must not be at offset 0.
OnDiskChainedHashTableGenerator ()
~OnDiskChainedHashTableGenerator ()

template<typename Info>
class llvm::OnDiskChainedHashTableGenerator< Info >

Generates an on disk hash table.

This needs an Info that handles storing values into the hash table's payload and computes the hash for a given key. This should provide the following interface:

class ExampleInfo {

public:

typedef ExampleKey key_type;

typedef ExampleKey &key_type_ref;

typedef ExampleData data_type;

typedef ExampleData &data_type_ref;

typedef uint32_t hash_value_type;

static std::pair<offset_type, offset_type>

EmitKeyDataLength(raw_ostream &Out, key_type_ref Key, data_type_ref Data);

static bool EqualKey(key_type_ref Key1, key_type_ref Key2);

};

InstrProfLookupTrait::offset_type offset_type

InstrProfLookupTrait::data_type data_type

uint64_t ComputeHash(const FunctionSummary *FS, unsigned I)

This class implements an extremely fast bulk output stream that can only output to a stream.

LLVM_ATTRIBUTE_VISIBILITY_DEFAULT AnalysisKey InnerAnalysisManagerProxy< AnalysisManagerT, IRUnitT, ExtraArgTs... >::Key

FunctionAddr VTableAddr uintptr_t uintptr_t Data

Definition at line 58 of file OnDiskHashTable.h.

~OnDiskChainedHashTableGenerator()

contains()

Emit() [1/2]

Emit() [2/2]

insert() [1/2]

insert() [2/2]


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