[PATCH] D140559: [InlineAdvisor] Restructure advisor plugin unittest cmake

Jake Egan via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 14 12:33:20 PST 2023


This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rG5b455a8efbf5: [InlineAdvisor] Restructure advisor plugin unittest cmake (authored by IBricchi, committed by Jake-Egan).

Changed prior to commit:
  https://reviews.llvm.org/D140559?vs=494056&id=497413#toc

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D140559/new/

https://reviews.llvm.org/D140559

Files:
  llvm/unittests/Analysis/CMakeLists.txt
  llvm/unittests/Analysis/InlineAdvisorPlugin.cpp
  llvm/unittests/Analysis/InlineAdvisorPlugin/CMakeLists.txt
  llvm/unittests/Analysis/InlineAdvisorPlugin/InlineAdvisorPlugin.cpp


Index: llvm/unittests/Analysis/InlineAdvisorPlugin/CMakeLists.txt
===================================================================
--- llvm/unittests/Analysis/InlineAdvisorPlugin/CMakeLists.txt
+++ 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.
Index: llvm/unittests/Analysis/CMakeLists.txt
===================================================================
--- llvm/unittests/Analysis/CMakeLists.txt
+++ 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)


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D140559.497413.patch
Type: text/x-patch
Size: 3405 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230214/e6b41d7f/attachment.bin>


More information about the llvm-commits mailing list