[PATCH] D93351: [llvm-shlib] Build backend libraries as loadable modules

Tom Stellard via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 27 20:19:13 PDT 2021


tstellar added a comment.

In D93351#2908892 <https://reviews.llvm.org/D93351#2908892>, @beanz wrote:

> + at bogner
>
> Sorry for being late to the party. I think this very much needs to be under an option.
>
> On platforms that use this with clang it will have an adverse impact on compile time, because it will increase the number of C++ symbols that need to be resolved (normally backend symbols are internally resolved). I'm really curious what the performance impact is, I remember a number of years ago benchmarking that using libLLVM on macOS had something like a 10% performance regression over static linking.
>
> This also will have significant adverse impact on the initial use case that I added this support for, GPU backends. In GPU drivers the compiler usually comes bundled with a small number of backends, and the cost of dlopening would be extremely detrimental because the size of programs is so small that loading the compiler needs to be as fast as possible.

So you think even for users that already link against libLLVM.so this will perform significantly worse?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D93351



More information about the llvm-commits mailing list