[llvm] c6c5413 - Revert "[InlineAdvisor] Restructure advisor plugin unittest cmake"

Roman Lebedev via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 4 17:44:18 PST 2023


Reminder to please always mention the reason for the revert/recommit
in the commit message.

On Thu, Jan 5, 2023 at 4:42 AM Jake Egan via llvm-commits
<llvm-commits at lists.llvm.org> wrote:
>
>
> Author: Jake Egan
> Date: 2023-01-04T20:41:36-05:00
> New Revision: c6c54132b762a29bb6c9a24738c110113e3b66c7
>
> URL: https://github.com/llvm/llvm-project/commit/c6c54132b762a29bb6c9a24738c110113e3b66c7
> DIFF: https://github.com/llvm/llvm-project/commit/c6c54132b762a29bb6c9a24738c110113e3b66c7.diff
>
> LOG: Revert "[InlineAdvisor] Restructure advisor plugin unittest cmake"
>
> This reverts commit f29cfab55d1fd806f827b832832b196c10558680.
>
> Added:
>     llvm/unittests/Analysis/InlineAdvisorPlugin.cpp
>
> Modified:
>     llvm/unittests/Analysis/CMakeLists.txt
>
> Removed:
>     llvm/unittests/Analysis/InlineAdvisorPlugin/InlineAdvisorPlugin.cpp
>
>
> ################################################################################
> diff  --git a/llvm/unittests/Analysis/CMakeLists.txt b/llvm/unittests/Analysis/CMakeLists.txt
> index 48a2e03e21ca3..02b59789660c4 100644
> --- a/llvm/unittests/Analysis/CMakeLists.txt
> +++ b/llvm/unittests/Analysis/CMakeLists.txt
> @@ -52,6 +52,11 @@ 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 TrainingLoggerTest.cpp)
>  if (LLVM_HAVE_TFLITE)
>    LIST(APPEND ANALYSIS_TEST_SOURCES ${MLGO_TESTS})
> @@ -65,4 +70,35 @@ add_llvm_unittest_with_input_files(AnalysisTests
>
>  target_link_libraries(AnalysisTests PRIVATE LLVMTestingSupport)
>
> -add_subdirectory(InlineAdvisorPlugin)
> +# 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")
> +endif()
>
> diff  --git a/llvm/unittests/Analysis/InlineAdvisorPlugin/InlineAdvisorPlugin.cpp b/llvm/unittests/Analysis/InlineAdvisorPlugin.cpp
> similarity index 100%
> rename from llvm/unittests/Analysis/InlineAdvisorPlugin/InlineAdvisorPlugin.cpp
> rename to llvm/unittests/Analysis/InlineAdvisorPlugin.cpp
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits


More information about the llvm-commits mailing list