File tree Expand file tree Collapse file tree 4 files changed +30
-1
lines changed Expand file tree Collapse file tree 4 files changed +30
-1
lines changed Original file line number Diff line number Diff line change @@ -153,6 +153,7 @@ if (BOLT_ENABLE_RUNTIME)
153
153
-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}
154
154
-DLLVM_LIBDIR_SUFFIX=${LLVM_LIBDIR_SUFFIX}
155
155
-DLLVM_LIBRARY_DIR=${LLVM_LIBRARY_DIR}
156
+ -DBOLT_BUILT_STANDALONE=${BOLT_BUILT_STANDALONE}
156
157
${extra_args}
157
158
INSTALL_COMMAND ""
158
159
BUILD_ALWAYS True
@@ -162,6 +163,8 @@ if (BOLT_ENABLE_RUNTIME)
162
163
add_llvm_install_targets (install -bolt_rt
163
164
DEPENDS bolt_rt bolt
164
165
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" )
165
168
endif ()
166
169
167
170
find_program (GNU_LD_EXECUTABLE NAMES ${LLVM_DEFAULT_TARGET_TRIPLE} -ld.bfd ld.bfd DOC "GNU ld" )
Original file line number Diff line number Diff line change @@ -23,6 +23,13 @@ add_library(bolt_rt_hugify STATIC
23
23
)
24
24
set_target_properties (bolt_rt_hugify PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} " )
25
25
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
+
26
33
set (BOLT_RT_FLAGS
27
34
-ffreestanding
28
35
-fno-exceptions
@@ -60,4 +67,9 @@ if (CMAKE_CXX_COMPILER_ID MATCHES ".*Clang.*" AND CMAKE_SYSTEM_NAME STREQUAL "Da
60
67
-target x86_64-apple-darwin19.6.0
61
68
${BOLT_RT_FLAGS} )
62
69
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 ()
63
75
endif ()
Original file line number Diff line number Diff line change 92
92
93
93
tool_dirs = [config .llvm_tools_dir , config .test_source_root ]
94
94
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
+
95
103
tools = [
96
104
ToolSubst ("llc" , unresolved = "fatal" ),
97
105
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
+ ),
99
111
ToolSubst ("llvm-boltdiff" , unresolved = "fatal" ),
100
112
ToolSubst ("llvm-bolt-heatmap" , unresolved = "fatal" ),
101
113
ToolSubst ("llvm-bat-dump" , unresolved = "fatal" ),
Original file line number Diff line number Diff line change @@ -19,6 +19,8 @@ config.bolt_clang = "@BOLT_CLANG_EXE@"
19
19
config.bolt_lld = "@BOLT_LLD_EXE@"
20
20
config.targets_to_build = "@BOLT_TARGETS_TO_BUILD@"
21
21
config.gnu_ld = "@GNU_LD_EXECUTABLE@"
22
+ config.libbolt_rt_instr = "@LIBBOLT_RT_INSTR@"
23
+ config.libbolt_rt_hugify = "@LIBBOLT_RT_HUGIFY@"
22
24
23
25
import lit.llvm
24
26
lit.llvm.initialize(lit_config, config)
You can’t perform that action at this time.
0 commit comments