[lld] [llvm] Re-apply "[NFCI][LTO][lld] Optimize away symbol copies within LTO global resolution in ELF" (PR #107792)
Mingming Liu via llvm-commits
llvm-commits at lists.llvm.org
Mon Sep 9 10:14:30 PDT 2024
================
@@ -1797,18 +1799,18 @@ void BitcodeFile::parse() {
void BitcodeFile::parseLazy() {
numSymbols = obj->symbols().size();
symbols = std::make_unique<Symbol *[]>(numSymbols);
- for (auto [i, irSym] : llvm::enumerate(obj->symbols()))
+ for (auto [i, irSym] : llvm::enumerate(obj->symbols())) {
+ // Keep copies of per-module undefined symbols for LTO::GlobalResolutions
+ // usage.
+ irSym.Name = unique_saver().save(irSym.getName());
if (!irSym.isUndefined()) {
// Symbols can be duplicated in bitcode files because of '#include' and
// linkonce_odr. Use unique_saver to save symbol names for de-duplication.
----------------
minglotus-6 wrote:
done.
https://github.com/llvm/llvm-project/pull/107792
More information about the llvm-commits
mailing list