[PATCH] D23127: [test-suite] Bitcode tests: Update cmake to build driver and halide runtime only once.
Alina Sbirlea via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 3 13:07:56 PDT 2016
asbirlea updated this revision to Diff 66701.
asbirlea added a comment.
Address comments.
@MatzeB: Could you please lgtm the change?
https://reviews.llvm.org/D23127
Files:
Bitcode/simd_ops/CMakeLists.txt
cmake/modules/SingleMultiSource.cmake
Index: cmake/modules/SingleMultiSource.cmake
===================================================================
--- cmake/modules/SingleMultiSource.cmake
+++ cmake/modules/SingleMultiSource.cmake
@@ -118,6 +118,13 @@
llvm_add_test(${testfile} ${executable})
endfunction()
+macro (test_suite_add_build_dependencies executable)
+ if (NOT TEST_SUITE_USE_PERF)
+ add_dependencies(${executable} timeit-target)
+ endif()
+ add_dependencies(${executable} timeit-host fpcmp-host)
+endmacro()
+
macro(test_suite_add_executable name mainsource)
list(FIND PROGRAMS_TO_SKIP ${name} name_idx)
# Should we skip this?
@@ -145,10 +152,7 @@
else()
llvm_add_test(${executable_path}.test ${executable_path})
endif()
- if (NOT TEST_SUITE_USE_PERF)
- add_dependencies(${executable} timeit-target)
- endif()
- add_dependencies(${executable} timeit-host fpcmp-host)
+ test_suite_add_build_dependencies(${executable})
endif()
endmacro()
Index: Bitcode/simd_ops/CMakeLists.txt
===================================================================
--- Bitcode/simd_ops/CMakeLists.txt
+++ Bitcode/simd_ops/CMakeLists.txt
@@ -6,14 +6,19 @@
SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_SOURCE_DIR}/simd_op_check_runtime.bc PROPERTIES LANGUAGE CXX)
list(APPEND LDFLAGS -lpthread -ldl)
+add_library(simd_ops STATIC simd_ops.cpp ${ARCH}_halide_runtime.bc)
+target_link_libraries(simd_ops)
+test_suite_add_build_dependencies(simd_ops)
+set_target_properties(simd_ops PROPERTIES LINKER_LANGUAGE CXX)
foreach(sourcebc ${uosources})
string(REGEX REPLACE ".[cp]+$" "" pathbc ${sourcebc})
string(REGEX REPLACE ".*/" "" namebc ${pathbc})
string(REPLACE "." "" namebc ${namebc})
- set(Source ${CMAKE_CURRENT_SOURCE_DIR}/simd_ops.cpp ${CMAKE_CURRENT_SOURCE_DIR}/${ARCH}_halide_runtime.bc ${CMAKE_CURRENT_SOURCE_DIR}/${ARCH}_tests/${namebc}.bc ${CMAKE_CURRENT_SOURCE_DIR}/${ARCH}_scalar_tests/scalar_${namebc}.bc)
+ set(Source ${CMAKE_CURRENT_SOURCE_DIR}/${ARCH}_halide_runtime.bc ${CMAKE_CURRENT_SOURCE_DIR}/${ARCH}_tests/${namebc}.bc ${CMAKE_CURRENT_SOURCE_DIR}/${ARCH}_scalar_tests/scalar_${namebc}.bc)
set(PROG simd_ops_${namebc})
llvm_multisource()
+ target_link_libraries(${PROG} simd_ops)
endforeach()
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D23127.66701.patch
Type: text/x-patch
Size: 2254 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160803/76b0a06d/attachment.bin>
More information about the llvm-commits
mailing list