[llvm] f3c9c6c - RuntimeLibcalls: Use get_host_tool_path for executables used in benchmark (#153955)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 17 17:51:48 PDT 2025
Author: Matt Arsenault
Date: 2025-09-18T09:51:41+09:00
New Revision: f3c9c6c0c51880109b39411be4e6d742c16210d1
URL: https://github.com/llvm/llvm-project/commit/f3c9c6c0c51880109b39411be4e6d742c16210d1
DIFF: https://github.com/llvm/llvm-project/commit/f3c9c6c0c51880109b39411be4e6d742c16210d1.diff
LOG: RuntimeLibcalls: Use get_host_tool_path for executables used in benchmark (#153955)
Copied from what the llvm-shlib build is doing.
This reverts commit 0b1b567d9f84e67124c58d69b5aa375357d68c9e.
Added:
Modified:
llvm/benchmarks/CMakeLists.txt
Removed:
################################################################################
diff --git a/llvm/benchmarks/CMakeLists.txt b/llvm/benchmarks/CMakeLists.txt
index e32aba5ebff43..40d100a99dfd1 100644
--- a/llvm/benchmarks/CMakeLists.txt
+++ b/llvm/benchmarks/CMakeLists.txt
@@ -14,3 +14,22 @@ 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)
+set(SYMBOL_TEST_DATA_SOURCE_BINARY ${llc_exe})
+
+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}")
More information about the llvm-commits
mailing list