SuccessChanges

Summary

  1. [TableGen] Use ListSeparator (NFC) (details)
  2. [CodeGen] Use range-based for loops (NFC) (details)
  3. [lld][ELF] __start_/__stop_ refs don't retain C-ident named group sections (details)
Commit 9e4033b06bec48b2e9399d24aaa8c975cd3bd10b by kazu
[TableGen] Use ListSeparator (NFC)
The file was modifiedllvm/utils/TableGen/FastISelEmitter.cpp
Commit 0b417ba20f21c7057cf9c0fed8cbc761331f4022 by kazu
[CodeGen] Use range-based for loops (NFC)
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
The file was modifiedllvm/lib/CodeGen/LiveVariables.cpp
The file was modifiedllvm/lib/CodeGen/MachineRegisterInfo.cpp
The file was modifiedllvm/lib/CodeGen/SplitKit.cpp
The file was modifiedllvm/lib/CodeGen/UnreachableBlockElim.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/Localizer.cpp
The file was modifiedllvm/lib/CodeGen/RDFLiveness.cpp
Commit 1a3f3a3fa17909aa22958a4f06b1a357a75b1bb4 by phosek
[lld][ELF] __start_/__stop_ refs don't retain C-ident named group sections

The special root semantics for identifier-named sections is meant
specifically for the metadata sections. In the context of group
semantics, where group members are always retained or discarded as a
unit, it's natural not to have this semantics apply to a section in a
group, otherwise we would never discard the group defeating the purpose
of using the group in the first place.

This change modifies the GC behavior so that __start_/__stop_ references
don't retain C identifier named sections in section groups which allows
for these groups to be collected. This matches the behavior of BFD ld.

The only kind of existing case that might break is interdependent
metadata sections that are all in a group together, but that group
doesn't contain any other sections referenced by anything except
implicit inclusion in a `__start_` and/or `__stop_`-referenced
identifier-named section, but such cases should be unlikely.

Differential Revision: https://reviews.llvm.org/D96753
The file was modifiedlld/ELF/MarkLive.cpp
The file was removedlld/test/ELF/startstop-gccollect.s
The file was addedlld/test/ELF/gc-sections-startstop.s