[llvm] Reapply "RuntimeLibcalls: Use get_host_tool_path for executables used … (#159488) (PR #159489)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 17 18:24:07 PDT 2025
https://github.com/arsenm created https://github.com/llvm/llvm-project/pull/159489
This reverts commit 44b7abcc75b005ab87e11e2beac155bf0b155992.
Add additional if TARGET checks
>From 1ff0932ec7e74a78b90ad60374a27ca86ff43047 Mon Sep 17 00:00:00 2001
From: Matt Arsenault <Matthew.Arsenault at amd.com>
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()
More information about the llvm-commits
mailing list