[all-commits] [llvm/llvm-project] 8d4ca0: [lld-macho][nfc] Clean up ICF code

Jez Ng via All-commits all-commits at lists.llvm.org
Wed Sep 14 14:59:43 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8d4ca09d068d66d13b258ebccdb9470b50fff881
      https://github.com/llvm/llvm-project/commit/8d4ca09d068d66d13b258ebccdb9470b50fff881
  Author: Jez Ng <jezng at fb.com>
  Date:   2022-09-14 (Wed, 14 Sep 2022)

  Changed paths:
    M lld/MachO/ICF.cpp

  Log Message:
  -----------
  [lld-macho][nfc] Clean up ICF code

Split these changes out from https://reviews.llvm.org/D133780.


  Commit: 118bfde90aed6fa4012cfd3167c033a78382350d
      https://github.com/llvm/llvm-project/commit/118bfde90aed6fa4012cfd3167c033a78382350d
  Author: Jez Ng <jezng at fb.com>
  Date:   2022-09-14 (Wed, 14 Sep 2022)

  Changed paths:
    M lld/MachO/ICF.cpp
    M lld/MachO/InputFiles.cpp
    M lld/MachO/InputSection.cpp
    M lld/MachO/InputSection.h
    M lld/test/MachO/objc-selrefs.s

  Log Message:
  -----------
  [lld-macho] Have ICF dedup explicitly-defined selrefs

This is what ld64 does (though it doesn't use ICF to do this; instead it
always dedups selrefs by default).

We'll want to dedup implicitly-defined selrefs as well, but I will leave
that for future work.

Additionally, I'm not *super* happy with the current LLD implementation
because I think it is rather janky and inefficient. But at least it
moves us toward the goal of closing the size gap with ld64. I've
described ideas for cleaning up our implementation here:
https://github.com/llvm/llvm-project/issues/57714

Differential Revision: https://reviews.llvm.org/D133780


Compare: https://github.com/llvm/llvm-project/compare/bf204881b637...118bfde90aed


More information about the All-commits mailing list