[llvm] 5b455a8 - [InlineAdvisor] Restructure advisor plugin unittest cmake
Jake Egan via llvm-commits
llvm-commits at lists.llvm.org
Tue Feb 14 12:33:20 PST 2023
Author: ibricchi
Date: 2023-02-14T15:33:13-05:00
New Revision: 5b455a8efbf56b31028fcbf043cb08d1cfbd5936
URL: https://github.com/llvm/llvm-project/commit/5b455a8efbf56b31028fcbf043cb08d1cfbd5936
DIFF: https://github.com/llvm/llvm-project/commit/5b455a8efbf56b31028fcbf043cb08d1cfbd5936.diff
LOG: [InlineAdvisor] Restructure advisor plugin unittest cmake
Move the plugin used in the unittest to test Inline Advisor Plugins
into a separate folder to clean up the cmake file for the analysis
tests.
Reviewed By: mtrofin, thakis
Differential Revision: https://reviews.llvm.org/D140559
Added:
llvm/unittests/Analysis/InlineAdvisorPlugin/InlineAdvisorPlugin.cpp
Modified:
llvm/unittests/Analysis/CMakeLists.txt
llvm/unittests/Analysis/InlineAdvisorPlugin/CMakeLists.txt
Removed:
llvm/unittests/Analysis/InlineAdvisorPlugin.cpp
################################################################################
diff --git a/llvm/unittests/Analysis/CMakeLists.txt b/llvm/unittests/Analysis/CMakeLists.txt
index 7b9f942be6977..f7f17b394faad 100644
--- a/llvm/unittests/Analysis/CMakeLists.txt
+++ b/llvm/unittests/Analysis/CMakeLists.txt
@@ -52,12 +52,8 @@ set(ANALYSIS_TEST_SOURCES
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 @@ add_llvm_unittest_with_input_files(AnalysisTests
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
index a819808b34984..ac83dddc0c6e7 100644
--- 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
similarity index 100%
rename from llvm/unittests/Analysis/InlineAdvisorPlugin.cpp
rename to llvm/unittests/Analysis/InlineAdvisorPlugin/InlineAdvisorPlugin.cpp
More information about the llvm-commits
mailing list