[llvm-commits] [PATCH] Lazily Link functions

Tanya Lattner lattner at apple.com
Wed Oct 26 16:26:27 PDT 2011


The attached patch will only link functions marked with specific linkage (Internal, LO_ODR, or LO linkage) if they have uses in the destination module. Instead of automatically linking, these functions are placed onto a worklist to be processed in the final stage of linking. We iterate over the list and if any functions on the list have uses in the destination module, we link them in and repeat the process until no changes in the state (uses) has changed. This means that any functions in the LazilyLink worklist that have a use in the destination module will be linked in and none that don't. 

Please review.

Thanks,
Tanya
-------------- next part --------------
A non-text attachment was scrubbed...
Name: LazyLink.patch
Type: application/octet-stream
Size: 2745 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20111026/c6505b5d/attachment.obj>


More information about the llvm-commits mailing list