llvm-project
aa8a7581 - [lld] strip __swift_FORCE_LOAD_$ dyld fixups in __DATA,__const (#214584)

Commit
23 days ago
[lld] strip __swift_FORCE_LOAD_$ dyld fixups in __DATA,__const (#214584) Add a new flag to optionally strip swift FORCE_LOAD symbol sections, which are used by the compiler to force dylib load commands. This has shown a ~30% reduction in binds for some large applications, with corresponding size reduction for the number of elided pointers. This is based on a similar ld64 optimisation that removes the fixups for the force load sections: https://github.com/keith/ld64/blob/37d025c536163da612874999d0ea94a4e4e475e7/src/ld/passes/dylibs.cpp#L385-L389
Author
Parents
Loading