[llvm] benchmarks: Fix sample_symbol_list.txt generation again (PR #167078)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 7 22:52:16 PST 2025


https://github.com/arsenm updated https://github.com/llvm/llvm-project/pull/167078

>From c54d4259a9c402419a7659e7b7572bb09c31f34e Mon Sep 17 00:00:00 2001
From: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: Fri, 7 Nov 2025 19:03:41 -0800
Subject: [PATCH 1/2] benchmarks: Fix sample_symbol_list.txt generation again

This wasn't triggering on a basic build. The various target checks
seem to not work as I expect with AND, so split this into separate
if TARGET checks.
---
 llvm/benchmarks/CMakeLists.txt | 32 +++++++++++++++++---------------
 1 file changed, 17 insertions(+), 15 deletions(-)

diff --git a/llvm/benchmarks/CMakeLists.txt b/llvm/benchmarks/CMakeLists.txt
index e411ed4326a36..77f2836d0341b 100644
--- a/llvm/benchmarks/CMakeLists.txt
+++ b/llvm/benchmarks/CMakeLists.txt
@@ -22,23 +22,25 @@ if(NOT LLVM_TOOL_LLVM_DRIVER_BUILD)
   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(${llc_exe} AND ${llvm_nm_exe})
-    # Extract the list of symbols in a random utility as sample data.
-    set(SYMBOL_TEST_DATA_FILE "sample_symbol_list.txt")
-    set(SYMBOL_TEST_DATA_SOURCE_BINARY ${llc_exe})
+  if(TARGET ${llc_target})
+    if(TARGET ${llvm_nm_target})
+      # Extract the list of symbols in a random utility as sample data.
+      set(SYMBOL_TEST_DATA_FILE "sample_symbol_list.txt")
+      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_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_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}")
+      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()
   endif()
 endif()

>From d66b4a90ea74cecc56ddc0ebab1822bdfdc14d98 Mon Sep 17 00:00:00 2001
From: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: Fri, 7 Nov 2025 22:51:14 -0800
Subject: [PATCH 2/2] Remove {} instead

---
 llvm/benchmarks/CMakeLists.txt | 32 +++++++++++++++-----------------
 1 file changed, 15 insertions(+), 17 deletions(-)

diff --git a/llvm/benchmarks/CMakeLists.txt b/llvm/benchmarks/CMakeLists.txt
index 77f2836d0341b..6581f47012552 100644
--- a/llvm/benchmarks/CMakeLists.txt
+++ b/llvm/benchmarks/CMakeLists.txt
@@ -22,25 +22,23 @@ if(NOT LLVM_TOOL_LLVM_DRIVER_BUILD)
   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})
-    if(TARGET ${llvm_nm_target})
-      # Extract the list of symbols in a random utility as sample data.
-      set(SYMBOL_TEST_DATA_FILE "sample_symbol_list.txt")
-      set(SYMBOL_TEST_DATA_SOURCE_BINARY ${llc_exe})
+  if(llc_exe AND llvm_nm_exe)
+    # Extract the list of symbols in a random utility as sample data.
+    set(SYMBOL_TEST_DATA_FILE "sample_symbol_list.txt")
+    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_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_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()
+    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()
 endif()



More information about the llvm-commits mailing list