- # if coverage reports are not enabled, skip all of this 
- if(NOT-  LLVM_BUILD_INSTRUMENTED_COVERAGE )
 
-   
-      "${LLVM_SOURCE_DIR}/utils/prepare-code-coverage-artifact.py" 
-      PREPARE_CODE_COV_ARTIFACT) 
-   
- # llvm-cov and llvm-profdata need to match the host compiler. They can either be 
- # explicitly provided by the user, or we will look them up based on the install 
- # location of the C++ compiler. 
- find_program(- LLVM_COV  "llvm-cov" ${COMPILER_DIRECTORY}-  NO_DEFAULT_PATH )
 
- find_program(- LLVM_PROFDATA  "llvm-profdata" ${COMPILER_DIRECTORY}-  NO_DEFAULT_PATH )
 
-   
- if(NOT-  LLVM_COV  OR NOT-  LLVM_PROFDATA )
 
-   message(- WARNING  "Could not find code coverage tools, skipping generating targets. You may explicitly specify LLVM_COV and LLVM_PROFDATA to work around this warning.")
 
-   
- set(- LLVM_CODE_COVERAGE_TARGETS  "" CACHE STRING "Targets to run code coverage on (defaults to all exported targets if empty)")
 
-   
- if(NOT-  LLVM_CODE_COVERAGE_TARGETS )
 
-   # by default run the coverage report across all the exports provided 
-   
-      "${CMAKE_BINARY_DIR}/report/" 
-      REPORT_DIR) 
-   
- foreach(- target  ${LLVM_CODE_COVERAGE_TARGETS} ${COV_TARGETS})
 
-   if("${target_type}" STREQUAL "SHARED_LIBRARY" OR "${target_type}" STREQUAL "EXECUTABLE") 
-     list(APPEND-  coverage_binaries $<TARGET_FILE: ${target}- > )
 
-   
- set(- LLVM_COVERAGE_SOURCE_DIRS  "" CACHE STRING "Source directories to restrict coverage reports to.")
 
-   
- foreach(- dir  ${LLVM_COVERAGE_SOURCE_DIRS})
 
-   list(APPEND-  restrict_flags -restrict  ${dir})
 
-   
- # Utility target to clear out profile data. 
- # This isn't connected to any dependencies because it is a bit finicky to get 
- # working exactly how a user might want. 
-                   COMMAND ${CMAKE_COMMAND} -E 
-                           remove_directory ${LLVM_PROFILE_DATA_DIR}) 
-   
- # This currently only works for LLVM, but could be expanded to work for all 
- # sub-projects. The current limitation is based on not having a good way to 
- # automaticall plumb through the targets that we want to run coverage against. 
-                   COMMAND ${Python3_EXECUTABLE} ${PREPARE_CODE_COV_ARTIFACT} 
-                           ${LLVM_PROFDATA} ${LLVM_COV} ${LLVM_PROFILE_DATA_DIR} 
-                           ${REPORT_DIR} ${coverage_binaries} 
-                           --unified-report ${restrict_flags} 
-                   WORKING_DIRECTORY ${CMAKE_BINARY_DIR} 
-                   DEPENDS check-llvm) # Run tests 
-