[PATCH] D74588: Use DISABLE_LLVM_LINK_LLVM_DYLIB for TableGenTests

Chris Bieneman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 30 11:29:05 PDT 2021


beanz added a comment.

In D74588#2659067 <https://reviews.llvm.org/D74588#2659067>, @aaronpuchert wrote:

> - maybe it would be confusing to have an LLVM component in `llvm/utils` instead of `llvm/lib`, and

Yea, that is confusing. It is also confusing that `LLVMTableGenGlobalISel` was put into a static archive at all instead of just making it part of the tablegen executable like all the other tablegen backends and utils.

> - maybe this shouldn't be part of LLVM because it's only needed for `llvm-tblgen`? In other words maybe this isn't actually a component of LLVM proper but just a tool for building LLVM. If we make it a component library it will be part of `libLLVM.so`.

`LLVMTableGenGlobalISel` is trying to have its cake and eat it to. You can't make a library that you expect to behave like an LLVM component for linkages, but then not make it a component. `LLVMTableGen` is an LLVM component, even though it is really only used for building LLVM too, so there is prior art here.

The alternative to making `LLVMTableGenGlobalISel` would be to hand roll the proper linkage behavior so that it doesn't pull in libLLVM.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D74588



More information about the llvm-commits mailing list