From 76a7da04bb486036a6b26ae018b06e8545b7fec2 Mon Sep 17 00:00:00 2001 From: Jon Roelofs Date: Thu, 2 Jul 2020 07:54:57 -0600 Subject: [PATCH] Fix missing build dependencies on omp_gen Differential Revision: https://reviews.llvm.org/D83003 --- CMakeLists.txt | 2 +- cmake/modules/AddLLVM.cmake | 3 +++ cmake/modules/CMakeLists.txt | 3 +++ cmake/modules/LLVMConfig.cmake.in | 5 ++++- lib/Transforms/IPO/CMakeLists.txt | 1 + unittests/Frontend/CMakeLists.txt | 3 +++ 6 files changed, 15 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3c53cb99512..de2887b64c2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1131,7 +1131,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) # Installing the headers needs to depend on generating any public # tablegen'd headers. - add_custom_target(llvm-headers DEPENDS intrinsics_gen) + add_custom_target(llvm-headers DEPENDS intrinsics_gen omp_gen) set_target_properties(llvm-headers PROPERTIES FOLDER "Misc") if (NOT LLVM_ENABLE_IDE) diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake index b524b488ecf..744c52e82f3 100644 --- a/cmake/modules/AddLLVM.cmake +++ b/cmake/modules/AddLLVM.cmake @@ -925,6 +925,9 @@ function(add_llvm_pass_plugin name) if (TARGET intrinsics_gen) add_dependencies(obj.${name} intrinsics_gen) endif() + if (TARGET omp_gen) + add_dependencies(obj.${name} omp_gen) + endif() set_property(GLOBAL APPEND PROPERTY LLVM_STATIC_EXTENSIONS ${name}) elseif(NOT ARG_NO_MODULE) add_llvm_library(${name} MODULE ${ARG_UNPARSED_ARGUMENTS}) diff --git a/cmake/modules/CMakeLists.txt b/cmake/modules/CMakeLists.txt index 1cef87a5e18..4b8879f65fe 100644 --- a/cmake/modules/CMakeLists.txt +++ b/cmake/modules/CMakeLists.txt @@ -28,6 +28,9 @@ endforeach(lib) if(intrinsics_gen IN_LIST LLVM_COMMON_DEPENDS) list(REMOVE_ITEM LLVM_COMMON_DEPENDS intrinsics_gen) endif() +if(omp_gen IN_LIST LLVM_COMMON_DEPENDS) + list(REMOVE_ITEM LLVM_COMMON_DEPENDS omp_gen) +endif() # Generate LLVMConfig.cmake for the build tree. set(LLVM_CONFIG_CODE " diff --git a/cmake/modules/LLVMConfig.cmake.in b/cmake/modules/LLVMConfig.cmake.in index fa6082c7e39..c9a1c8131d2 100644 --- a/cmake/modules/LLVMConfig.cmake.in +++ b/cmake/modules/LLVMConfig.cmake.in @@ -104,12 +104,15 @@ if(NOT TARGET LLVMSupport) @llvm_config_include_buildtree_only_exports@ endif() -# By creating intrinsics_gen here, subprojects that depend on LLVM's +# By creating intrinsics_gen and omp_gen here, subprojects that depend on LLVM's # tablegen-generated headers can always depend on this target whether building # in-tree with LLVM or not. if(NOT TARGET intrinsics_gen) add_custom_target(intrinsics_gen) endif() +if(NOT TARGET omp_gen) + add_custom_target(omp_gen) +endif() set_property(GLOBAL PROPERTY LLVM_TARGETS_CONFIGURED On) include(${LLVM_CMAKE_DIR}/LLVM-Config.cmake) diff --git a/lib/Transforms/IPO/CMakeLists.txt b/lib/Transforms/IPO/CMakeLists.txt index bec42276f27..3f30c0289e8 100644 --- a/lib/Transforms/IPO/CMakeLists.txt +++ b/lib/Transforms/IPO/CMakeLists.txt @@ -45,4 +45,5 @@ add_llvm_component_library(LLVMipo DEPENDS intrinsics_gen + omp_gen ) diff --git a/unittests/Frontend/CMakeLists.txt b/unittests/Frontend/CMakeLists.txt index b3ffaf90c47..4b48945b285 100644 --- a/unittests/Frontend/CMakeLists.txt +++ b/unittests/Frontend/CMakeLists.txt @@ -10,6 +10,9 @@ set(LLVM_LINK_COMPONENTS add_llvm_unittest(LLVMFrontendTests OpenMPContextTest.cpp OpenMPIRBuilderTest.cpp + + DEPENDS + omp_gen ) target_link_libraries(LLVMFrontendTests PRIVATE LLVMTestingSupport)