diff --git a/llvm/unittests/Analysis/CMakeLists.txt b/llvm/unittests/Analysis/CMakeLists.txt --- a/llvm/unittests/Analysis/CMakeLists.txt +++ b/llvm/unittests/Analysis/CMakeLists.txt @@ -52,12 +52,8 @@ VectorUtilsTest.cpp ) -# The unit tests target does not use InlineAdvisorPlugin.cpp -# so if not added to LLVM_OPTIONAL_SOURCES, FileCheck will -# complain about unused file. -set(LLVM_OPTIONAL_SOURCES InlineAdvisorPlugin.cpp) - set(MLGO_TESTS TFUtilsTest.cpp) + if (LLVM_HAVE_TFLITE) LIST(APPEND ANALYSIS_TEST_SOURCES ${MLGO_TESTS}) else() @@ -70,35 +66,10 @@ target_link_libraries(AnalysisTests PRIVATE LLVMTestingSupport) -# The advisor plugin expects to not link against the Analysis, Support and Core -# libraries, but expects them to exist in the process loading the plugin. This -# doesn't work with DLLs on Windows (where a shared library can't have undefined -# references), so just skip this testcase on Windows. -if (NOT WIN32) - # On AIX, enable run-time linking to allow symbols from the plugins shared - # objects to be properly bound. - if(CMAKE_SYSTEM_NAME STREQUAL "AIX") - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-brtl") - endif() - - # This plugin is built as a stand-alone plugin, so since we don't use the - # ANALYSIS_TEST_SOURCES files, we have to add them to LLVM_OPTIONAL_SOURCES - # so that FileCheck doesn't complain about unsued files. - LIST(APPEND LLVM_OPTIONAL_SOURCES ${ANALYSIS_TEST_SOURCES}) - - unset(LLVM_LINK_COMPONENTS) - add_llvm_library(InlineAdvisorPlugin MODULE BUILDTREE_ONLY InlineAdvisorPlugin.cpp) - # Put PLUGIN next to the unit test executable. - set_output_directory(InlineAdvisorPlugin - BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR} - LIBRARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR} - ) - set_target_properties(InlineAdvisorPlugin PROPERTIES FOLDER "Tests") - - export_executable_symbols_for_plugins(AnalysisTests) - # The plugin depends on some of the output files of intrinsics_gen, so make sure - # it is built before the plugin. - add_dependencies(InlineAdvisorPlugin intrinsics_gen) - add_dependencies(AnalysisTests InlineAdvisorPlugin) - set_property(TARGET InlineAdvisorPlugin PROPERTY FOLDER "Tests/UnitTests/AnalysisTests") +# On AIX, enable run-time linking to allow symbols from the plugins shared +# objects to be properly bound. +if(CMAKE_SYSTEM_NAME STREQUAL "AIX") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-brtl") endif() + +add_subdirectory(InlineAdvisorPlugin) diff --git a/llvm/unittests/Analysis/InlineAdvisorPlugin/CMakeLists.txt b/llvm/unittests/Analysis/InlineAdvisorPlugin/CMakeLists.txt --- a/llvm/unittests/Analysis/InlineAdvisorPlugin/CMakeLists.txt +++ b/llvm/unittests/Analysis/InlineAdvisorPlugin/CMakeLists.txt @@ -3,12 +3,6 @@ # doesn't work with DLLs on Windows (where a shared library can't have undefined # references), so just skip this testcase on Windows. if (NOT WIN32) - # On AIX, enable run-time linking to allow symbols from the plugins shared - # objects to be properly bound. - if(CMAKE_SYSTEM_NAME STREQUAL "AIX") - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-brtl") - endif() - unset(LLVM_LINK_COMPONENTS) add_llvm_library(InlineAdvisorPlugin MODULE BUILDTREE_ONLY InlineAdvisorPlugin.cpp) # Put PLUGIN next to the unit test executable. diff --git a/llvm/unittests/Analysis/InlineAdvisorPlugin.cpp b/llvm/unittests/Analysis/InlineAdvisorPlugin/InlineAdvisorPlugin.cpp rename from llvm/unittests/Analysis/InlineAdvisorPlugin.cpp rename to llvm/unittests/Analysis/InlineAdvisorPlugin/InlineAdvisorPlugin.cpp