Fix interaction of static plugins with -DLLVM_LINK_LLVM_DYLIB=ON.

We should link static plugins into libLLVM.so; they shouldn't depend on
libLLVM.so.

Fixes https://bugs.llvm.org/show_bug.cgi?id=45571

Differential Revision: https://reviews.llvm.org/D78332
This commit is contained in:
Eli Friedman 2020-04-16 14:32:15 -07:00
parent 7d4546e3cf
commit 4623c2ffa4
2 changed files with 2 additions and 2 deletions

View File

@ -883,7 +883,7 @@ function(add_llvm_pass_plugin name)
list(REMOVE_ITEM ARG_UNPARSED_ARGUMENTS BUILDTREE_ONLY)
# process_llvm_pass_plugins takes care of the actual linking, just create an
# object library as of now
add_llvm_library(${name} OBJECT ${ARG_UNPARSED_ARGUMENTS})
add_llvm_component_library(${name} OBJECT ${ARG_UNPARSED_ARGUMENTS})
target_compile_definitions(${name} PRIVATE LLVM_${name_upper}_LINK_INTO_TOOLS)
set_property(TARGET ${name} APPEND PROPERTY COMPILE_DEFINITIONS LLVM_LINK_INTO_TOOLS)
if (TARGET intrinsics_gen)

View File

@ -107,7 +107,7 @@ if (GPU_CODEGEN)
llvm_map_components_to_libnames(nvptx_libs NVPTX)
endif ()
if (LLVM_LINK_LLVM_DYLIB)
if (LLVM_LINK_LLVM_DYLIB AND NOT LLVM_POLLY_LINK_INTO_TOOLS)
# The shlib/dylib contains all the LLVM components
# (including NVPTX is enabled) already. Adding them to target_link_libraries
# would cause them being twice in the address space