[PATCH] D77694: [WIP][RISCV][ELF] Linker relaxation support
Peter Smith via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 8 04:17:30 PDT 2020
psmith added a comment.
Will have to have a think about this in more detail over the Easter Weekend.
I do have some experience with relocations being scanned multiple times. As George mentions, performance, particularly for very large programs with millions of relocations is a concern, especially for a linker that is most attractive to its user base for high performance. The performance impact can be mitigated by only doing what you need when scanning the relocations early. For example in a debug build the number of relocations vastly outweighs the number of non-debug relocations yet we are unlikely to need to scan them early. The downside of this approach is that we have a large non-local dependency between the relocation scans which can make the implementation fragile. For example it is easy to forget that something needs to be done in scan pass 1, only to see some problem come up with scan pass 2 that depended on it. Overall we'll only know by measuring on several large programs.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D77694/new/
https://reviews.llvm.org/D77694
More information about the llvm-commits
mailing list