Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[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.
- Loading branch information