https://github.com/llvm/llvm-project/pull/87600 was reverted in order to revert6262763341. Now https://github.com/llvm/llvm-project/pull/95482 is fix forward for6262763341. This patch is a reland for https://github.com/llvm/llvm-project/pull/87600 **Changes on top of original patch** In `llvm/include/llvm/IR/ModuleSummaryIndex.h`, make the type of `GVSummaryPtrSet` an `unordered_set` which is more memory efficient when the number of elements is smaller than 128 [1] **Original commit message** For distributed ThinLTO, the LTO indexing step generates combined summary for each module, and postlink pipeline reads the combined summary which stores the information for link-time optimization. This patch populates the 'import type' of a summary in bitcode, and updates bitcode reader to parse the bit correctly. [1]393eff4e02/llvm/lib/Support/SmallPtrSet.cpp (L43)