[all-commits] [llvm/llvm-project] e61d60: [LTO] Turn ImportListsTy into a proper class (NFC)...

Kazu Hirata via All-commits all-commits at lists.llvm.org
Wed Aug 28 12:51:07 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e61d6066e2678b1244b1bcbd59a154a82acf1eb8
      https://github.com/llvm/llvm-project/commit/e61d6066e2678b1244b1bcbd59a154a82acf1eb8
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-28 (Wed, 28 Aug 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/FunctionImport.h

  Log Message:
  -----------
  [LTO] Turn ImportListsTy into a proper class (NFC) (#106427)

This patch turns ImportListsTy into a class that wraps
DenseMap<StringRef, ImportMapTy>.

Here is the background.  I'm planning to reduce the memory footprint
of ThinLTO indexing.  Specifically, ImportMapTy, the list of imports
for a given destination module, will be a hash set of integer IDs
indexing into a deduplication table of pairs (SourceModule, GUID),
which is a lot like string interning.  I'm planning to put this
deduplication table as part of ImportListsTy and have each instance of
ImportMapTy hold a reference to the deduplication table.

Another reason to wrap the DenseMap is that I need to intercept
operator[]() so that I can construct an instance of ImportMapTy with a
reference to the deduplication table.  Note that the default
implementation of operator[]() would default-construct ImportMapTy,
which I am going to disable.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list