[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