@@ -876,38 +876,23 @@ if (CLANG_ENABLE_BOOTSTRAP)
876
876
endforeach ()
877
877
endif ()
878
878
879
- set (CLANG_BOLT OFF CACHE STRING "Apply BOLT optimization to Clang. \
880
- May be specified as Instrument or Perf or LBR to use a particular profiling \
881
- mechanism." )
882
- string (TOUPPER "${CLANG_BOLT} " CLANG_BOLT)
883
-
884
- if (CLANG_BOLT AND NOT LLVM_BUILD_INSTRUMENTED)
879
+ if (CLANG_BOLT_INSTRUMENT AND NOT LLVM_BUILD_INSTRUMENTED)
885
880
set (CLANG_PATH ${LLVM_RUNTIME_OUTPUT_INTDIR} /clang)
886
- set (CLANG_INSTRUMENTED ${LLVM_RUNTIME_OUTPUT_INTDIR} / ${CLANG_BOLT_INSTRUMENTED} )
881
+ set (CLANG_INSTRUMENTED ${CLANG_PATH} -bolt.inst )
887
882
set (BOLT_FDATA ${CMAKE_CURRENT_BINARY_DIR} /utils/perf-training/prof.fdata)
888
883
889
- # Pass extra flag in no-LBR mode
890
- if (CLANG_BOLT STREQUAL "PERF" )
891
- set (BOLT_NO_LBR "-nl" )
892
- endif ()
893
-
894
- if (CLANG_BOLT STREQUAL "INSTRUMENT" )
895
- # Instrument clang with BOLT
896
- add_custom_target (clang-instrumented
897
- DEPENDS ${CLANG_INSTRUMENTED}
898
- )
899
- add_custom_command (OUTPUT ${CLANG_INSTRUMENTED}
900
- DEPENDS clang llvm-bolt
901
- COMMAND llvm-bolt ${CLANG_PATH} -o ${CLANG_INSTRUMENTED}
902
- -instrument --instrumentation-file-append -pid
903
- --instrumentation-file=${BOLT_FDATA}
904
- COMMENT "Instrumenting clang binary with BOLT"
905
- VERBATIM
906
- )
907
- add_custom_target (clang-bolt-training-deps DEPENDS clang-instrumented)
908
- else () # perf or LBR
909
- add_custom_target (clang-bolt-training-deps DEPENDS clang)
910
- endif ()
884
+ # Instrument clang with BOLT
885
+ add_custom_target (clang-instrumented
886
+ DEPENDS ${CLANG_INSTRUMENTED}
887
+ )
888
+ add_custom_command (OUTPUT ${CLANG_INSTRUMENTED}
889
+ DEPENDS clang llvm-bolt
890
+ COMMAND llvm-bolt ${CLANG_PATH} -o ${CLANG_INSTRUMENTED}
891
+ -instrument --instrumentation-file-append -pid
892
+ --instrumentation-file=${BOLT_FDATA}
893
+ COMMENT "Instrumenting clang binary with BOLT"
894
+ VERBATIM
895
+ )
911
896
912
897
# Optimize original (pre-bolt) Clang using the collected profile
913
898
set (CLANG_OPTIMIZED ${CMAKE_CURRENT_BINARY_DIR} /clang.bolt)
@@ -921,7 +906,6 @@ if (CLANG_BOLT AND NOT LLVM_BUILD_INSTRUMENTED)
921
906
-data ${BOLT_FDATA}
922
907
-reorder-blocks=ext -tsp -reorder-functions=hfsort+ -split-functions
923
908
-split-all -cold -split-eh -dyno-stats -icf=1 -use-gnu-stack
924
- ${BOLT_NO_LBR}
925
909
COMMAND ${CMAKE_COMMAND} -E rename ${CLANG_OPTIMIZED} $<TARGET_FILE:clang>
926
910
COMMENT "Optimizing Clang with BOLT"
927
911
VERBATIM
0 commit comments