[PATCH] D119612: [clang] Pass more flags to ld64.lld

Fangrui Song via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Feb 17 10:46:25 PST 2022


MaskRay added inline comments.


================
Comment at: clang/lib/Driver/ToolChains/Darwin.cpp:272
 
-  // ld64 version 262 and above run the deduplicate pass by default.
-  if (Version >= VersionTuple(262) && shouldLinkerNotDedup(C.getJobs().empty(), Args))
+  // ld64 version 262 and above and lld run the deduplicate pass by default.
+  if ((Version >= VersionTuple(262) || LinkerIsLLD) &&
----------------
int3 wrote:
> thakis wrote:
> > MaskRay wrote:
> > > lld runs `--icf=none` (i.e. `-no_deduplicate`) by default.
> > Hm, good point. Should we pass `--icf=safe` for lld if `!shouldLinkerNotDedup` here then?
> I think our dedup pass is both a lot more effective and a lot more expensive link-time-wise than ld64's so maybe we shouldn't do it by default...
> FIXME: lld doesn't dedup by default.

I agree that we should not do icf by default. It can easily take more than 10% time IIRC.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D119612/new/

https://reviews.llvm.org/D119612



More information about the cfe-commits mailing list