llvm-project/lld/ELF/Arch
Fangrui Song 5d3bd7f360 [ELF] Move gotIndex/pltIndex/globalDynIndex to SymbolAux
to decrease sizeof(SymbolUnion) by 8 on ELF64 platforms.

Symbols needing such information are typically 1% or fewer (5134 out of 560520
when linking clang, 19898 out of 5550705 when linking chrome). Storing them
elsewhere can decrease memory usage and symbol initialization time.
There is a ~0.8% saving on max RSS when linking a large program.

Future direction:

* Move some of dynsymIndex/verdefIndex/versionId to SymbolAux
* Support mixed TLSDESC and TLS GD without increasing sizeof(SymbolUnion)

Reviewed By: peter.smith

Differential Revision: https://reviews.llvm.org/D116281
2022-01-09 13:43:27 -08:00
..
AArch64.cpp Reland D114783/D115603 [ELF] Split scanRelocations into scanRelocations/postScanRelocations 2021-12-14 16:28:41 -08:00
AMDGPU.cpp [ELF] Replace noneRel = R_*_NONE with static constexpr. NFC 2021-09-25 15:16:44 -07:00
ARM.cpp [ARM] implement support for ALU/LDR PC-relative group relocations 2021-11-27 10:26:37 +01:00
AVR.cpp [ELF] Replace noneRel = R_*_NONE with static constexpr. NFC 2021-09-25 15:16:44 -07:00
Hexagon.cpp [ELF] Rename hasStaticTlsModel to hasTlsIe 2021-11-24 21:06:04 -08:00
MSP430.cpp [ELF] Use namespace qualifiers (lld:: or elf::) instead of `namespace lld { namespace elf {` 2020-05-15 08:49:53 -07:00
Mips.cpp [ELF][Mips] Use R_DTPREL for R_MIPS_TLS_DTPREL* 2021-10-30 21:58:43 -07:00
MipsArchTree.cpp [lib/Object] - Refine interface of ELFFile<ELFT>. NFCI. 2020-09-15 11:38:31 +03:00
PPC.cpp [ELF] Move gotIndex/pltIndex/globalDynIndex to SymbolAux 2022-01-09 13:43:27 -08:00
PPC64.cpp [ELF] Move gotIndex/pltIndex/globalDynIndex to SymbolAux 2022-01-09 13:43:27 -08:00
PPCInsns.def [LLD][PowerPC] Implement GOT to PC-Rel relaxation 2020-08-17 09:36:09 -05:00
RISCV.cpp [ELF] Rename hasStaticTlsModel to hasTlsIe 2021-11-24 21:06:04 -08:00
SPARCV9.cpp [ELF] Replace noneRel = R_*_NONE with static constexpr. NFC 2021-09-25 15:16:44 -07:00
X86.cpp [ELF] Move gotIndex/pltIndex/globalDynIndex to SymbolAux 2022-01-09 13:43:27 -08:00
X86_64.cpp [ELF] Move gotIndex/pltIndex/globalDynIndex to SymbolAux 2022-01-09 13:43:27 -08:00