[PATCH] D74588: Use DISABLE_LLVM_LINK_LLVM_DYLIB for TableGenTests

Aaron Puchert via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 30 08:03:22 PDT 2021


aaronpuchert added a comment.

In D74588#2657461 <https://reviews.llvm.org/D74588#2657461>, @beanz wrote:

> This makes no sense. The tablegen tool build disables linking the dylib, which should be sufficient. We should never need to force it on a static archive. I’m 99% sure, that rL373651 <https://reviews.llvm.org/rL373651> is just wrong here, and that the solution to all of this is to just remove `DISABLE_LLVM_LINK_LLVM_DYLIB` from the library.

When I remove it, CMake complains about cyclic dependencies. Here is the gist (I reordered the parts a bit):

  CMake Error: The inter-target dependency graph contains the following strongly connected component (cycle):
    "llvm-tblgen" of type EXECUTABLE
      depends on "LLVMTableGenGlobalISel" (weak)
      depends on "LLVM" (weak)
    "LLVMTableGenGlobalISel" of type STATIC_LIBRARY
      depends on "LLVM" (weak)
    "LLVM" of type SHARED_LIBRARY
      depends on "LLVMCore" (weak)
      [... and many more ...]
    "LLVMCore" of type STATIC_LIBRARY
      depends on "LLVMRemarks" (weak)
      depends on "intrinsics_gen" (strong)
    "intrinsics_gen" of type UTILITY
      depends on "llvm-tblgen" (strong)
  At least one of these targets is not a STATIC_LIBRARY.  Cyclic dependencies are allowed only among static libraries.

So apparently we do import the `LLVM` dependency from `LLVMTableGenGlobalISel `.


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