diff options
author | Kazu Hirata <kazu@google.com> | 2024-08-29 09:45:19 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-29 09:45:19 -0700 |
commit | bd6531b9508624df83f84d9bc687a7339df452e9 (patch) | |
tree | fa4cdd7cac94cf37119b64943fa741eb8bc236ef /llvm/lib/CodeGen/MachineScheduler.cpp | |
parent | a777a93118a0ca71e19ac764a57a94f1be227dbb (diff) | |
download | llvm-bd6531b9508624df83f84d9bc687a7339df452e9.zip llvm-bd6531b9508624df83f84d9bc687a7339df452e9.tar.gz llvm-bd6531b9508624df83f84d9bc687a7339df452e9.tar.bz2 |
[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.
Diffstat (limited to 'llvm/lib/CodeGen/MachineScheduler.cpp')
0 files changed, 0 insertions, 0 deletions