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