[test-suite] r301355 - CMakeLists: Abort when llvm-size/llvm-profdata are not found
Matthias Braun via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 25 13:06:53 PDT 2017
Author: matze
Date: Tue Apr 25 15:06:52 2017
New Revision: 301355
URL: http://llvm.org/viewvc/llvm-project?rev=301355&view=rev
Log:
CMakeLists: Abort when llvm-size/llvm-profdata are not found
- Also add a new TEST_SUITE_COLLECT_CODE_SIZE option (default On) so
user can opt out of the data collection with llvm-size.
Modified:
test-suite/trunk/CMakeLists.txt
Modified: test-suite/trunk/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/CMakeLists.txt?rev=301355&r1=301354&r2=301355&view=diff
==============================================================================
--- test-suite/trunk/CMakeLists.txt (original)
+++ test-suite/trunk/CMakeLists.txt Tue Apr 25 15:06:52 2017
@@ -76,17 +76,32 @@ set(TEST_SUITE_RUN_TYPE "train" CACHE ST
"Type of benchmark inputs (may be test,train or ref)")
get_filename_component(CMAKE_C_COMPILER_DIRECTORY ${CMAKE_C_COMPILER} DIRECTORY)
-find_program(TEST_SUITE_LLVM_SIZE NAMES "llvm-size"
- HINTS ${CMAKE_C_COMPILER_DIRECTORY})
-find_program(TEST_SUITE_LLVM_PROFDATA NAMES "llvm-profdata"
- HINTS ${CMAKE_C_COMPILER_DIRECTORY})
-mark_as_advanced(TEST_SUITE_LLVM_SIZE TEST_SUITE_LLVM_PROFDATA)
+
+option(TEST_SUITE_COLLECT_CODE_SIZE "Measure code size of binaries" On)
+if(TEST_SUITE_COLLECT_CODE_SIZE)
+ find_program(TEST_SUITE_LLVM_SIZE NAMES "llvm-size"
+ HINTS ${CMAKE_C_COMPILER_DIRECTORY})
+ mark_as_advanced(TEST_SUITE_LLVM_SIZE)
+ if(TEST_SUITE_LLVM_SIZE STREQUAL "TEST_SUITE_LLVM_SIZE-NOTFOUND")
+ message(FATAL_ERROR "llvm-size not found.
+Make sure it is in your path or set TEST_SUITE_COLLECT_CODE_SIZE to Off")
+ endif()
+endif()
+
# Enable profile generate mode in lit. Note that this does not automatically
# add something like -fprofile-instr-generate to the compiler flags.
option(TEST_SUITE_PROFILE_GENERATE "Enable lit profile generate mode" Off)
# Set value to python style True/False
if(TEST_SUITE_PROFILE_GENERATE)
+ find_program(TEST_SUITE_LLVM_PROFDATA NAMES "llvm-profdata"
+ HINTS ${CMAKE_C_COMPILER_DIRECTORY})
+ mark_as_advanced(TEST_SUITE_LLVM_PROFDATA)
+ if(TEST_SUITE_LLVM_PROFDATA STREQUAL "TEST_SUITE_LLVM_PROFDATA-NOTFOUND")
+ message(FATAL_ERROR "llvm-profdata not found.
+Make sure it is in your path or set TEST_SUITE_PROFILE_GENERATE to Off")
+ endif()
+
set(TEST_SUITE_PROFILE_GENERATE "True")
list(APPEND CFLAGS -fprofile-instr-generate)
list(APPEND CXXFLAGS -fprofile-instr-generate)
@@ -162,7 +177,6 @@ set(FPCMP ${CMAKE_BINARY_DIR}/tools/fpcm
option(TEST_SUITE_COLLECT_COMPILE_TIME
"Measure compile time by wrapping compiler invocations in timeit" On)
-mark_as_advanced(TEST_SUITE_COLLECT_COMPILE_TIME)
if(TEST_SUITE_COLLECT_COMPILE_TIME)
set(CMAKE_C_COMPILE_OBJECT "${CMAKE_BINARY_DIR}/tools/timeit --summary <OBJECT>.time ${CMAKE_C_COMPILE_OBJECT}")
set(CMAKE_CXX_COMPILE_OBJECT "${CMAKE_BINARY_DIR}/tools/timeit --summary <OBJECT>.time ${CMAKE_CXX_COMPILE_OBJECT}")
@@ -206,11 +220,14 @@ endforeach()
option(TEST_SUITE_RUN_BENCHMARKS "Actually run the benchmarks in lit" On)
+# Construct list testing modules (see litsupport/*.py for available modules)
set(LIT_MODULES "")
if(TEST_SUITE_RUN_BENCHMARKS)
list(APPEND LIT_MODULES run)
endif()
-list(APPEND LIT_MODULES codesize)
+if(TEST_SUITE_COLLECT_CODE_SIZE)
+ list(APPEND LIT_MODULES codesize)
+endif()
list(APPEND LIT_MODULES hash)
if(TEST_SUITE_COLLECT_COMPILE_TIME)
list(APPEND LIT_MODULES compiletime)
More information about the llvm-commits
mailing list