[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