Skip to content

Commit 62cf63d

Browse files
[BOLT] Find libbolt_rt_hugify.a and libbolt_rt_instr.a from CMake
1 parent 631f10d commit 62cf63d

File tree

4 files changed

+30
-1
lines changed

4 files changed

+30
-1
lines changed

bolt/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,7 @@ if (BOLT_ENABLE_RUNTIME)
153153
-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}
154154
-DLLVM_LIBDIR_SUFFIX=${LLVM_LIBDIR_SUFFIX}
155155
-DLLVM_LIBRARY_DIR=${LLVM_LIBRARY_DIR}
156+
-DBOLT_BUILT_STANDALONE=${BOLT_BUILT_STANDALONE}
156157
${extra_args}
157158
INSTALL_COMMAND ""
158159
BUILD_ALWAYS True
@@ -162,6 +163,8 @@ if (BOLT_ENABLE_RUNTIME)
162163
add_llvm_install_targets(install-bolt_rt
163164
DEPENDS bolt_rt bolt
164165
COMPONENT bolt)
166+
set(LIBBOLT_RT_INSTR "${CMAKE_CURRENT_BINARY_DIR}/bolt_rt-bins/lib/libbolt_rt_instr.a")
167+
set(LIBBOLT_RT_HUGIFY "${CMAKE_CURRENT_BINARY_DIR}/bolt_rt-bins/lib/libbolt_rt_hugify.a")
165168
endif()
166169

167170
find_program(GNU_LD_EXECUTABLE NAMES ${LLVM_DEFAULT_TARGET_TRIPLE}-ld.bfd ld.bfd DOC "GNU ld")

bolt/runtime/CMakeLists.txt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,13 @@ add_library(bolt_rt_hugify STATIC
2323
)
2424
set_target_properties(bolt_rt_hugify PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}")
2525

26+
if(NOT BOLT_BUILT_STANDALONE)
27+
add_custom_command(TARGET bolt_rt_instr POST_BUILD
28+
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/lib/libbolt_rt_instr.a" "${LLVM_LIBRARY_DIR}")
29+
add_custom_command(TARGET bolt_rt_hugify POST_BUILD
30+
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/lib/libbolt_rt_hugify.a" "${LLVM_LIBRARY_DIR}")
31+
endif()
32+
2633
set(BOLT_RT_FLAGS
2734
-ffreestanding
2835
-fno-exceptions
@@ -60,4 +67,9 @@ if (CMAKE_CXX_COMPILER_ID MATCHES ".*Clang.*" AND CMAKE_SYSTEM_NAME STREQUAL "Da
6067
-target x86_64-apple-darwin19.6.0
6168
${BOLT_RT_FLAGS})
6269
install(TARGETS bolt_rt_instr_osx DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}")
70+
71+
if(NOT BOLT_BUILT_STANDALONE)
72+
add_custom_command(TARGET bolt_rt_instr_osx POST_BUILD
73+
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/lib/libbolt_rt_instr_osx.a" "${LLVM_LIBRARY_DIR}")
74+
endif()
6375
endif()

bolt/test/lit.cfg.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,10 +92,22 @@
9292

9393
tool_dirs = [config.llvm_tools_dir, config.test_source_root]
9494

95+
llvm_bolt_args = []
96+
97+
if config.libbolt_rt_instr:
98+
llvm_bolt_args.append(f"--runtime-instrumentation-lib={config.libbolt_rt_instr}")
99+
100+
if config.libbolt_rt_hugify:
101+
llvm_bolt_args.append(f"--runtime-hugify-lib={config.libbolt_rt_hugify}")
102+
95103
tools = [
96104
ToolSubst("llc", unresolved="fatal"),
97105
ToolSubst("llvm-dwarfdump", unresolved="fatal"),
98-
ToolSubst("llvm-bolt", unresolved="fatal"),
106+
ToolSubst(
107+
"llvm-bolt",
108+
unresolved="fatal",
109+
extra_args=llvm_bolt_args,
110+
),
99111
ToolSubst("llvm-boltdiff", unresolved="fatal"),
100112
ToolSubst("llvm-bolt-heatmap", unresolved="fatal"),
101113
ToolSubst("llvm-bat-dump", unresolved="fatal"),

bolt/test/lit.site.cfg.py.in

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ config.bolt_clang = "@BOLT_CLANG_EXE@"
1919
config.bolt_lld = "@BOLT_LLD_EXE@"
2020
config.targets_to_build = "@BOLT_TARGETS_TO_BUILD@"
2121
config.gnu_ld = "@GNU_LD_EXECUTABLE@"
22+
config.libbolt_rt_instr = "@LIBBOLT_RT_INSTR@"
23+
config.libbolt_rt_hugify = "@LIBBOLT_RT_HUGIFY@"
2224

2325
import lit.llvm
2426
lit.llvm.initialize(lit_config, config)

0 commit comments

Comments
 (0)