File tree Expand file tree Collapse file tree 1 file changed +21
-0
lines changed Expand file tree Collapse file tree 1 file changed +21
-0
lines changed Original file line number Diff line number Diff line change @@ -265,6 +265,27 @@ if (CMAKE_SIZEOF_VOID_P EQUAL 4)
265
265
set_target_properties (amd_comgr PROPERTIES OUTPUT_NAME "amd_comgr32" )
266
266
endif ()
267
267
268
+ option (LLVM_BUILD_INSTRUMENTED_COVERAGE "Build LLVM and tools with Code Coverage instrumentation" Off )
269
+ mark_as_advanced (LLVM_BUILD_INSTRUMENTED_COVERAGE )
270
+ if (LLVM_BUILD_INSTRUMENTED_COVERAGE )
271
+ if (NOT LLVM_PROFILE_MERGE_POOL_SIZE )
272
+ # A pool size of 1-2 is probably sufficient on an SSD. 3-4 should be fine
273
+ # for spinning disks. Anything higher may only help on slower mediums.
274
+ set (LLVM_PROFILE_MERGE_POOL_SIZE "4" )
275
+ endif ()
276
+ if (NOT LLVM_PROFILE_FILE_PATTERN )
277
+ if (NOT LLVM_PROFILE_DATA_DIR )
278
+ file (TO_NATIVE_PATH "${LLVM_BINARY_DIR} /profiles" LLVM_PROFILE_DATA_DIR )
279
+ endif ()
280
+ file (TO_NATIVE_PATH "${LLVM_PROFILE_DATA_DIR} /%${LLVM_PROFILE_MERGE_POOL_SIZE} m.profraw" LLVM_PROFILE_FILE_PATTERN )
281
+ endif ()
282
+ set (INSTRUMENTED_COVERAGE_FLAGS -O0 -fprofile-instr-generate=${LLVM_PROFILE_FILE_PATTERN} -fcoverage-mapping )
283
+ list (APPEND AMD_COMGR_PRIVATE_COMPILE_OPTIONS ${INSTRUMENTED_COVERAGE_FLAGS} )
284
+ list (APPEND AMD_COMGR_PUBLIC_COMPILE_OPTIONS ${INSTRUMENTED_COVERAGE_FLAGS} )
285
+ list (APPEND AMD_COMGR_PRIVATE_LINKER_OPTIONS ${INSTRUMENTED_COVERAGE_FLAGS} -L${LLVM_LIBRARY_DIRS} )
286
+ list (APPEND AMD_COMGR_PUBLIC_LINKER_OPTIONS ${INSTRUMENTED_COVERAGE_FLAGS} -L${LLVM_LIBRARY_DIRS} )
287
+ endif ()
288
+
268
289
target_compile_options (amd_comgr
269
290
PRIVATE "${AMD_COMGR_PRIVATE_COMPILE_OPTIONS} " )
270
291
target_compile_definitions (amd_comgr
You can’t perform that action at this time.
0 commit comments