summaryrefslogtreecommitdiffstats
path: root/openmp/runtime/test/lock/omp_lock.c
Commit message (Collapse)AuthorAgeFilesLines
* Remove redundant %libomp-compile step from test/lock/omp_lock.cJonathan Peyton2016-06-231-1/+1
| | | | llvm-svn: 273576
* Apply the KMP_USE_FUTEX feature macro everywhereJonathan Peyton2016-06-221-0/+1
| | | | llvm-svn: 273438
* Remove trailing whitespace from testsJonathan Peyton2016-05-171-1/+1
| | | | llvm-svn: 269841
* Exponential back off logic for test-and-set lockJonathan Peyton2016-04-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | This change adds back off logic in the test and set lock for better contended lock performance. It uses a simple truncated binary exponential back off function. The default back off parameters are tuned for x86. The main back off logic has a two loop structure where each is controlled by a user-level parameter: max_backoff - limits the outer loop number of iterations. This parameter should be a power of 2. min_ticks - the inner spin wait loop number of "ticks" which is system dependent and should be tuned for your system if you so choose. The "ticks" on x86 correspond to the time stamp counter, but on other architectures ticks is a timestamp derived from gettimeofday(). The user can modify these via the environment variable: KMP_SPIN_BACKOFF_PARAMS=max_backoff[,min_ticks] Currently, since the default user lock is a queuing lock, one would have to also specify KMP_LOCK_KIND=tas to use the test-and-set locks. Differential Revision: http://reviews.llvm.org/D19020 llvm-svn: 266329
* OpenMP Initial testsuite change to purely llvm-lit based testingJonathan Peyton2015-09-211-0/+45
This change introduces a check-libomp target which is based upon llvm's lit test infrastructure. Each test (generated from the University of Houston's OpenMP testsuite) is compiled and then run. For each test, an exit status of 0 indicates success and non-zero indicates failure. This way, FileCheck is not needed. I've added a bit of logic to generate symlinks (libiomp5 and libgomp) in the build tree so that gcc can be tested as well. When building out-of- tree builds, the user will have to provide llvm-lit either by specifying -DLIBOMP_LLVM_LIT_EXECUTABLE or having llvm-lit in their PATH. Differential Revision: http://reviews.llvm.org/D11821 llvm-svn: 248211
OpenPOWER on IntegriCloud