[all-commits] [llvm/llvm-project] 18a9b1: [COFF] Simplify ICF associated comdat handling

Reid Kleckner via All-commits all-commits at lists.llvm.org
Wed Apr 14 10:40:36 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 18a9b180870fcfc98da10ba9027f8eb5d0e7aba5
      https://github.com/llvm/llvm-project/commit/18a9b180870fcfc98da10ba9027f8eb5d0e7aba5
  Author: Reid Kleckner <rnk at google.com>
  Date:   2021-04-14 (Wed, 14 Apr 2021)

  Changed paths:
    M lld/COFF/Chunks.cpp
    M lld/COFF/Chunks.h
    A lld/test/COFF/icf-assoc-order.s
    A lld/test/COFF/icf-xdata-last.s

  Log Message:
  -----------
  [COFF] Simplify ICF associated comdat handling

This is a different approach from D98993 that should achieve most of the
same benefit. The two changes are:
1. Sort the list of associated child sections by section name
2. Do not consider associated sections to have children themselves

This fixes the main issue, which was that we sometimes considered an
.xdata section to have a child .pdata section. That lead to slow links
and larger binaries (less xdata folding).

Otherwise, this should be NFC: we go back to ignoring .debug/.gljmp and
other metadata sections rather than only looking at pdata/xdata. We
discovered that we do care about other associated sections, like ASan
global registration metadata.




More information about the All-commits mailing list