Changes

Summary

  1. [X86] Pre-checkin test case for combining const operand to VNNI (details)
  2. [ELF] Optimize -z combreloc (details)
  3. [ELF] Simplify Symbol::includeInDynsym (details)
  4. [ELF] Slightly speed up Symbol::includeInDynsym. NFC (details)
  5. [ELF] Speed up Symbol::computeBinding. NFC (details)
  6. [ELF] Remove config->relocatable condition from Symbol::computeBinding (details)
  7. [ELF] Remove !isLazy() condition from computeBinding (details)
  8. [ELF] Remove forEachRelSec. NFC (details)
Commit 89e968fe8e12f4b83ed911d06650a5b03c0509da by yuanke.luo
[X86] Pre-checkin test case for combining const operand to VNNI
instruction.
The file was addedllvm/test/CodeGen/X86/dpbusd_const.ll
Commit 3736d0854a003ef7896a23014857a76472128342 by i
[ELF] Optimize -z combreloc

Sorting dynamic relocations is a bottleneck. Simplifying the comparator improves
performance. Linking clang is 4~5% faster with --threads=8.

This change may shuffle R_MIPS_REL32 for Mips and is a NFC for non-Mips.
The file was modifiedlld/test/ELF/mips-32.s
The file was modifiedlld/test/ELF/mips-64.s
The file was modifiedlld/ELF/SyntheticSections.cpp
Commit 7330fd236ef02462f8771b016201ea039d46842b by i
[ELF] Simplify Symbol::includeInDynsym
The file was modifiedlld/ELF/Symbols.cpp
The file was modifiedlld/ELF/Writer.cpp
The file was modifiedlld/ELF/ICF.cpp
Commit 01a51629c29521ebe4b612b6c3f69bd23b7034a5 by i
[ELF] Slightly speed up Symbol::includeInDynsym. NFC
The file was modifiedlld/ELF/Symbols.cpp
Commit b3cc47006bf5b4b665db22e30d809ed40311bbee by i
[ELF] Speed up Symbol::computeBinding. NFC

When computeBinding is inlined into includeInDynsym and computeIsPreemptible,
the optimizer can remove the config->gnuUnique load.
The file was modifiedlld/ELF/Symbols.cpp
Commit c0fc09ab91f9e84f176822c7d7c9dc7221f4cd98 by i
[ELF] Remove config->relocatable condition from Symbol::computeBinding
The file was modifiedlld/ELF/Writer.cpp
The file was modifiedlld/ELF/Symbols.cpp
Commit 9e885eac542c408008e135fd43c91b792fb0f264 by i
[ELF] Remove !isLazy() condition from computeBinding

Seems applicable since we demote lazy symbols to Undefined (D111365).
The file was modifiedlld/ELF/Symbols.cpp
Commit e7c8cd4a930465edd6c0ecbf3ad3119737988941 by i
[ELF] Remove forEachRelSec. NFC
The file was modifiedlld/ELF/Writer.cpp