From 290556e7d3c9fbb74087dc447752b55dbd10ffeb Mon Sep 17 00:00:00 2001 From: Alexander Shaposhnikov Date: Fri, 13 Oct 2017 03:21:39 +0000 Subject: [PATCH] [clang] Enable clang build with LLVM_BUILD_INSTRUMENTED without setting LLVM_PROFTDATA At the moment if LLVM_BUILD_INSTRUMENTED is set to True one has to set LLVM_PROFTDATA even if it's not really used (because of message(FATAL_ERROR ...)). Building the instrumented version of Clang can be useful even if one doesn't plan to build the target generate-profdata (currently that target would only compile utils/perf-training/cxx/hello_world.cpp). For example, one can run the instrumented version of Clang via a separate build system against a different codebase, collect/analyze the profiles and merge them by llvm-profdata later. Differential revision: https://reviews.llvm.org/D38859 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@315665 91177308-0d34-0410-b5e6-96231b3b80d8 --- utils/perf-training/CMakeLists.txt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/utils/perf-training/CMakeLists.txt b/utils/perf-training/CMakeLists.txt index c046a1dac4..39f9a4ca3c 100644 --- a/utils/perf-training/CMakeLists.txt +++ b/utils/perf-training/CMakeLists.txt @@ -30,13 +30,13 @@ if(LLVM_BUILD_INSTRUMENTED) endif() if(NOT LLVM_PROFDATA) - message(FATAL_ERROR "Must set LLVM_PROFDATA to point to llvm-profdata to use for merging PGO data") + message(STATUS "To enable merging PGO data LLVM_PROFDATA has to point to llvm-profdata") + else() + add_custom_target(generate-profdata + COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/perf-helper.py merge ${LLVM_PROFDATA} ${CMAKE_CURRENT_BINARY_DIR}/clang.profdata ${CMAKE_CURRENT_BINARY_DIR} + COMMENT "Merging profdata" + DEPENDS generate-profraw) endif() - - add_custom_target(generate-profdata - COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/perf-helper.py merge ${LLVM_PROFDATA} ${CMAKE_CURRENT_BINARY_DIR}/clang.profdata ${CMAKE_CURRENT_BINARY_DIR} - COMMENT "Merging profdata" - DEPENDS generate-profraw) endif() find_program(DTRACE dtrace) -- 2.40.0