aboutsummaryrefslogtreecommitdiff
path: root/clang/CMakeLists.txt
diff options
context:
space:
mode:
authorAmir Ayupov <aaupov@fb.com>2024-01-22 14:56:17 -0800
committerAmir Ayupov <aaupov@fb.com>2024-01-22 14:56:43 -0800
commit6953b367027e4234607a6718a0a1d57eb52ef57e (patch)
tree009605b4b3c35166fdf0ebe81f997ded5d474d3f /clang/CMakeLists.txt
parent1d5c16d7805806e920feee2b4ec93d5800293837 (diff)
downloadllvm-6953b367027e4234607a6718a0a1d57eb52ef57e.zip
llvm-6953b367027e4234607a6718a0a1d57eb52ef57e.tar.gz
llvm-6953b367027e4234607a6718a0a1d57eb52ef57e.tar.bz2
Revert "Reland [Clang][CMake] Support perf, LBR, and Instrument CLANG_BOLT options (#69133)"
This reverts commit b83b8d3fd17885438b0ea154e07088d877d293a8. Breaks buildbots e.g. https://lab.llvm.org/buildbot/#/builders/225/builds/29950
Diffstat (limited to 'clang/CMakeLists.txt')
-rw-r--r--clang/CMakeLists.txt44
1 files changed, 14 insertions, 30 deletions
diff --git a/clang/CMakeLists.txt b/clang/CMakeLists.txt
index 47fc2e4..5f2b7f0 100644
--- a/clang/CMakeLists.txt
+++ b/clang/CMakeLists.txt
@@ -876,38 +876,23 @@ if (CLANG_ENABLE_BOOTSTRAP)
endforeach()
endif()
-set(CLANG_BOLT OFF CACHE STRING "Apply BOLT optimization to Clang. \
- May be specified as Instrument or Perf or LBR to use a particular profiling \
- mechanism.")
-string(TOUPPER "${CLANG_BOLT}" CLANG_BOLT)
-
-if (CLANG_BOLT AND NOT LLVM_BUILD_INSTRUMENTED)
+if (CLANG_BOLT_INSTRUMENT AND NOT LLVM_BUILD_INSTRUMENTED)
set(CLANG_PATH ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang)
- set(CLANG_INSTRUMENTED ${LLVM_RUNTIME_OUTPUT_INTDIR}/${CLANG_BOLT_INSTRUMENTED})
+ set(CLANG_INSTRUMENTED ${CLANG_PATH}-bolt.inst)
set(BOLT_FDATA ${CMAKE_CURRENT_BINARY_DIR}/utils/perf-training/prof.fdata)
- # Pass extra flag in no-LBR mode
- if (CLANG_BOLT STREQUAL "PERF")
- set(BOLT_NO_LBR "-nl")
- endif()
-
- if (CLANG_BOLT STREQUAL "INSTRUMENT")
- # Instrument clang with BOLT
- add_custom_target(clang-instrumented
- DEPENDS ${CLANG_INSTRUMENTED}
- )
- add_custom_command(OUTPUT ${CLANG_INSTRUMENTED}
- DEPENDS clang llvm-bolt
- COMMAND llvm-bolt ${CLANG_PATH} -o ${CLANG_INSTRUMENTED}
- -instrument --instrumentation-file-append-pid
- --instrumentation-file=${BOLT_FDATA}
- COMMENT "Instrumenting clang binary with BOLT"
- VERBATIM
- )
- add_custom_target(clang-bolt-training-deps DEPENDS clang-instrumented)
- else() # perf or LBR
- add_custom_target(clang-bolt-training-deps DEPENDS clang)
- endif()
+ # Instrument clang with BOLT
+ add_custom_target(clang-instrumented
+ DEPENDS ${CLANG_INSTRUMENTED}
+ )
+ add_custom_command(OUTPUT ${CLANG_INSTRUMENTED}
+ DEPENDS clang llvm-bolt
+ COMMAND llvm-bolt ${CLANG_PATH} -o ${CLANG_INSTRUMENTED}
+ -instrument --instrumentation-file-append-pid
+ --instrumentation-file=${BOLT_FDATA}
+ COMMENT "Instrumenting clang binary with BOLT"
+ VERBATIM
+ )
# Optimize original (pre-bolt) Clang using the collected profile
set(CLANG_OPTIMIZED ${CMAKE_CURRENT_BINARY_DIR}/clang.bolt)
@@ -921,7 +906,6 @@ if (CLANG_BOLT AND NOT LLVM_BUILD_INSTRUMENTED)
-data ${BOLT_FDATA}
-reorder-blocks=ext-tsp -reorder-functions=hfsort+ -split-functions
-split-all-cold -split-eh -dyno-stats -icf=1 -use-gnu-stack
- ${BOLT_NO_LBR}
COMMAND ${CMAKE_COMMAND} -E rename ${CLANG_OPTIMIZED} $<TARGET_FILE:clang>
COMMENT "Optimizing Clang with BOLT"
VERBATIM