History log of /llvm-project/llvm/unittests/Transforms/IPO/ImportIDTableTests.cpp (Results 1 – 1 of 1)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4
# bd6531b9 29-Aug-2024 Kazu Hirata <kazu@google.com>

[LTO] Introduce a new class ImportIDTable (#106503)

The new class implements a deduplication table to convert import list
elements:

{SourceModule, GUID, Definition/Declaration}

into 32-bit

[LTO] Introduce a new class ImportIDTable (#106503)

The new class implements a deduplication table to convert import list
elements:

{SourceModule, GUID, Definition/Declaration}

into 32-bit integers, and vice versa. This patch adds a unit test but
does not add a use yet.

To be precise, the deduplication table holds {SourceModule, GUID}
pairs. We use the bottom one bit of the 32-bit integers to indicate
whether we have a definition or declaration.

A subsequent patch will collapse the import list hierarchy --
FunctionsToImportTy holding many instances of FunctionsToImportTy --
down to DenseSet<uint32_t> with each element indexing into the
deduplication table above. This will address multiple sources of
space inefficiency.

show more ...