[PATCH] D109192: [WIP/DNM] Support: introduce public API annotation support

Saleem Abdulrasool via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Sep 5 11:59:51 PDT 2021


compnerd added a comment.

In D109192#2984252 <https://reviews.llvm.org/D109192#2984252>, @jrtc27 wrote:

> In D109192#2984249 <https://reviews.llvm.org/D109192#2984249>, @compnerd wrote:
>
>> I should mention that this doesn't matter to the downstream projects at the end of the day - they aren't compelled to enable the shared library mode - static linking will be unimpacted.
>
> We have significant downstream changes, and we regularly build with shared libraries for development, only static linking in our release builds. This will affect us and having to chase down a bunch of functions with LLVM_SUPPORT_ABI does not fill me with joy. Yes, static linking is great for releases, but it sucks for development, full per-component shared libraries make things much faster, please don't just dismiss it.

Well, per-component would be significantly worse - `LLVM_SUPPORT_ABI` marks what just `LLVMSupport` exports.  You would need a separate macro per component if you do a shared library build with a per-component shared library.  Doing a set 2-3 libraries means that there are only 2-3 macros that need to be contended with and its easier to identify which module the function resides in.  That also means that it is more viable to find LTO/DCE optimizations.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D109192



More information about the llvm-commits mailing list