[OPENMP] Add dependency to clang/clang-headers etc. for in-tree build of libomp.

Add additional dependency to clang/clang-headers/FileCheck to avoid possible troubles with in-tree build/test of libomp + allow parallel testing of libomp. Also includes bugfixes for tests + improvements to avoid possible race conditions.
Differential Revision: http://reviews.llvm.org/D14055

llvm-svn: 251797
This commit is contained in:
Alexey Bataev
2015-11-02 13:43:32 +00:00
parent 54d263c61c
commit b0eae8d6f4
4 changed files with 6 additions and 7 deletions

View File

@@ -34,7 +34,7 @@ if(${LIBOMP_STANDALONE_BUILD})
# The -j 1 lets the actual tests run with the entire machine.
# We have one test thread that spawns the tests serially. This allows
# Each test to use the entire machine.
set(LIBOMP_LIT_ARGS_DEFAULT "-sv --show-unsupported --show-xfail -j 1")
set(LIBOMP_LIT_ARGS_DEFAULT "-sv --show-unsupported --show-xfail")
if(MSVC OR XCODE)
set(LIBOMP_LIT_ARGS_DEFAULT "${LIBOMP_LIT_ARGS_DEFAULT} --no-progress-bar")
endif()
@@ -56,11 +56,10 @@ else()
endif()
set(LIBOMP_TEST_OPENMP_FLAG -fopenmp=libomp)
# Use add_lit_testsuite() from LLVM CMake.
add_lit_testsuite(check-libomp
add_lit_testsuite(check-libomp
"Running libomp tests"
${CMAKE_CURRENT_BINARY_DIR}
ARGS "-j 1"
DEPENDS omp
DEPENDS clang clang-headers FileCheck omp
)
endif()

View File

@@ -9,7 +9,7 @@ int test_omp_get_wtime()
double start;
double end;
double measured_time;
double wait_time = 0.25;
double wait_time = 1.0;
start = 0;
end = 0;
start = omp_get_wtime();

View File

@@ -12,7 +12,7 @@
#define REPETITIONS 10 /* Number of times to run each test */
/* following times are in seconds */
#define SLEEPTIME 0.1
#define SLEEPTIME 1
/* Definitions for tasks */
/**********************************************************/

View File

@@ -17,7 +17,6 @@ int test_omp_for_auto()
sum = 0;
sum0 = 12345;
sum1 = 0;
// array which keeps track of which threads participated in the for loop
// e.g., given 4 threads, [ 0 | 1 | 1 | 0 ] implies
@@ -30,6 +29,7 @@ int test_omp_for_auto()
#pragma omp parallel
{
int i;
sum1 = 0;
#pragma omp for firstprivate(sum0) schedule(auto)
for (i = 1; i <= LOOPCOUNT; i++) {
active_threads[omp_get_thread_num()] = 1;