From 1ff0932ec7e74a78b90ad60374a27ca86ff43047 Mon Sep 17 00:00:00 2001 From: Matt Arsenault Date: Thu, 18 Sep 2025 10:22:47 +0900 Subject: [PATCH] =?UTF-8?q?Reapply=20"RuntimeLibcalls:=20Use=20get=5Fhost?= =?UTF-8?q?=5Ftool=5Fpath=20for=20executables=20used=20=E2=80=A6=20(#15948?= =?UTF-8?q?8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 44b7abcc75b005ab87e11e2beac155bf0b155992. Add additional if TARGET checks --- llvm/benchmarks/CMakeLists.txt | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/llvm/benchmarks/CMakeLists.txt b/llvm/benchmarks/CMakeLists.txt index e32aba5ebff43..69e78e0776129 100644 --- a/llvm/benchmarks/CMakeLists.txt +++ b/llvm/benchmarks/CMakeLists.txt @@ -14,3 +14,23 @@ add_benchmark(SandboxIRBench SandboxIRBench.cpp PARTIAL_SOURCES_INTENDED) add_benchmark(RuntimeLibcallsBench RuntimeLibcalls.cpp PARTIAL_SOURCES_INTENDED) +# Extract the list of symbols in a random utility as sample data. +set(SYMBOL_TEST_DATA_FILE "sample_symbol_list.txt") + +get_host_tool_path(llvm-nm LLVM_NM llvm_nm_exe llvm_nm_target) +get_host_tool_path(llc LLC llc_exe llc_target) + +if(TARGET ${llc_target} AND TARGET ${llvm_nm_target}) + add_custom_command(OUTPUT ${SYMBOL_TEST_DATA_FILE} + COMMAND ${llvm_nm_exe} --no-demangle --no-sort + --format=just-symbols + ${SYMBOL_TEST_DATA_SOURCE_BINARY} > ${SYMBOL_TEST_DATA_FILE} + DEPENDS ${llvm_nm_target} ${llc_target}) + + add_custom_target(generate-runtime-libcalls-sample-symbol-list + DEPENDS ${SYMBOL_TEST_DATA_FILE}) + + add_dependencies(RuntimeLibcallsBench generate-runtime-libcalls-sample-symbol-list) + target_compile_definitions(RuntimeLibcallsBench PRIVATE + -DSYMBOL_TEST_DATA_FILE="${CMAKE_CURRENT_BINARY_DIR}/${SYMBOL_TEST_DATA_FILE}") +endif()