- Mar 28, 2017
-
-
https://llvm.org/bugs/show_bug.cgi?id=30889Andrey Churbanov authored
Condition adjusted for Debug assertion. Differential Revision: https://reviews.llvm.org/D29638 llvm-svn: 298915
-
- Mar 23, 2017
-
-
Paul Osmialowski authored
Differential Revision: https://reviews.llvm.org/D31071 llvm-svn: 298605
-
- Mar 21, 2017
-
-
Andrey Churbanov authored
Differential Revision: https://reviews.llvm.org/D29597 llvm-svn: 298373
-
Andrey Churbanov authored
Patch by George Rokos. Differential Revision: https://reviews.llvm.org/D24486 llvm-svn: 298362
-
- Mar 20, 2017
-
-
Jonathan Peyton authored
This change slightly improves performance of KMP_YIELD_NOW() macro, by using _rdtsc() intrinsic function if possible. Patch by Hansang Bae Differential Revision: https://reviews.llvm.org/D31008 llvm-svn: 298314
-
Jonathan Peyton authored
Affinity initialization code expects __kmp_affinity_type has the value affinity_default by default, but the cleanup code does not properly set the value back to affinity_default. This may introduce some issues when multiple roots are trying to initialize/uninitialize the runtime successively. Patch by Hansang Bae Differential Revision: https://reviews.llvm.org/D31012 llvm-svn: 298313
-
- Mar 10, 2017
-
-
Jonathan Peyton authored
This change fixes an assertion failure the in case KMP_AFFINITY is set with 'proclist' specified but without 'explicit' e.g., KMP_AFFINITY=verbose,proclist=[0-31] Patch by Olga Malysheva Differential Revision: https://reviews.llvm.org/D30404 llvm-svn: 297480
-
- Mar 07, 2017
-
-
Dan Albert authored
Summary: Bionic didn't get a GNU style strerror_r until Android M. Until then we unconditionally exposed the POSIX one. Expand the check to account for this. Reviewers: pirama, AndreyChurbanov, jlpeyton Reviewed By: jlpeyton Subscribers: openmp-commits, srhines Differential Revision: https://reviews.llvm.org/D30056 llvm-svn: 297235
-
- Mar 06, 2017
-
-
Jonathan Peyton authored
Add build option LIBOMP_OMP_VERSION=50, 5.0 headers, and add the year/month associated with OpenMP 5.0 in relevant source locations. Also, remove the deprecated LIBOMP_OMP_VERSION=41 option. Patch by Olga Malysheva Differential Revision: https://reviews.llvm.org/D30450 llvm-svn: 297083
-
Jonathan Peyton authored
Patch by Olga Malysheva Differential Revision: https://reviews.llvm.org/D30408 llvm-svn: 297082
-
- Feb 28, 2017
-
-
Jonathan Peyton authored
This section of code (__kmp_test_then_* functions) is guarded by (KMP_ARCH_X86 || KMP_ARCH_X86_64) so it does not make sense to have other architecture guards inside this section. Non-x86 architectures always use intrinsics (__sync_*) llvm-svn: 296525
-
- Feb 24, 2017
-
-
Michal Gorny authored
When using -rtlib=libgcc, the fallback implementation of __atomic_* builtins is provided via libatomic (included in GCC). However, neither GCC itself nor clang link libatomic implicitly, and it seems that GCC upstream expects projects to link it explicitly as necessary. Since compiler-rt provides __atomic_* builtins directly in the main library, check if they are provided by the default libraries first. If they are not, check if -latomic is available to provide them and add explicit -latomic for tests in this case. This fixes unresolved __atomic_load() references when running openmp tests on i386 with libgcc backend. Differential Revision: https://reviews.llvm.org/D30083 llvm-svn: 296183
-
- Feb 22, 2017
-
-
George Rokos authored
Added virtual destructor in a class containing virtual functions. Differential Revision: https://reviews.llvm.org/D30271 llvm-svn: 295896
-
- Feb 17, 2017
-
-
Jonathan Peyton authored
Add counter to count number of static_steal for loops Add counter for number of chunks executed per static_steal for loop Add counter for number of chunks stolen per static_steal for loop llvm-svn: 295461
-
- Feb 16, 2017
-
-
Andrey Churbanov authored
Added test kmp_task_reduction_nest.cpp which has an example of possible compiler codegen. Differential Revision: https://reviews.llvm.org/D29600 llvm-svn: 295343
-
Andrey Churbanov authored
via setting envirable KMP_INITIAL_THREAD_BIND=1. Differential Revision: https://reviews.llvm.org/D29665 llvm-svn: 295339
-
- Feb 15, 2017
-
-
Jonathan Peyton authored
This change allows the runtime to turn __kmp_yield() on/off repeatedly on Linux. This feature was removed when disabling monitor thread, but there are applications that perform better with this feature on. Patch by Hansang Bae Differential Revision: https://reviews.llvm.org/D29227 llvm-svn: 295203
-
Jonas Hahnfeld authored
Added new ThreadSanitizer annotations to remove false positives with OpenMP reduction. Cleaned up Tsan annotations header file from unused annotations. Patch by Simone Atzeni! Differential Revision: https://reviews.llvm.org/D29202 llvm-svn: 295158
-
- Feb 06, 2017
-
-
Andrey Churbanov authored
Patch by Terry Wilmarth. Differential Revision: https://reviews.llvm.org/D28377 llvm-svn: 294214
-
- Jan 30, 2017
-
-
Jonas Hahnfeld authored
The nested proxy task does not have dependencies. llvm-svn: 293472
-
- Jan 27, 2017
-
-
Jonathan Peyton authored
Put the duplicated i_maxmin into traits_t by adding new members max_value and min_value. Put ___kmp_size_type into traits_t by adding member type_size. Differential Revision: https://reviews.llvm.org/D28847 llvm-svn: 293316
-
Jonathan Peyton authored
Patch by Vishakha Agrawal Differential Revision: https://reviews.llvm.org/D28873 llvm-svn: 293315
-
Jonathan Peyton authored
When the monitor thread is used, most threads in the team directly go to sleep if the copy of bt_intervals/bt_set is not available in the cache, and this happens at least once per thread in the wait function, making the overall performance slightly better. This change tries to mimic this behavior by using the bt_intervals cache, which simply keeps the blocktime interval in terms of the platform-dependent ticks or nanoseconds. Patch by Hansang Bae Differential Revision: https://reviews.llvm.org/D28906 llvm-svn: 293312
-
- Jan 18, 2017
-
-
Jonathan Peyton authored
llvm-svn: 292350
-
Jonathan Peyton authored
The lock tables were being reallocated if kmp_set_defaults() was called. In the env_init code it says that the user should be able to switch between different KMP_CONSISTENCY_CHECK values which is what this change enables. llvm-svn: 292349
-
Jonathan Peyton authored
There is no corresponding free() for this expandable array. The logic is added in __kmp_cleanup() next to the freeing of __kmp_nested_nth. llvm-svn: 292348
-
- Jan 12, 2017
-
-
Jonas Hahnfeld authored
Clang 4.0 trunk warns: warning: logical not is only applied to the left hand side of this bitwise operator [-Wlogical-not-parentheses] This points to a potential bug if the code really wants to check if the single bit is not set: If for example (buf.edx >> 9) = 2 (has any bit set except the least significant one), 'logical not' will return 0 which stays 0 after the 'bitwise and'. To do this correctly we first need to evaluate the 'bitwise and'. In that case it returns 2 & 1 = 0 which after the 'logical not' evaluates to 1. Differential Revision: https://reviews.llvm.org/D28599 llvm-svn: 291764
-
- Jan 04, 2017
-
-
Jonas Hahnfeld authored
runtimes/CMakeLists.txt in LLVM passes OPENMP_STANDALONE_BUILD. Differential Revision: https://reviews.llvm.org/D28280 llvm-svn: 290978
-
- Dec 21, 2016
-
-
Andrey Churbanov authored
Patch by Yonghong Yan. Differential Revision: https://reviews.llvm.org/D27975 llvm-svn: 290272
-
- Dec 15, 2016
-
-
Jonathan Peyton authored
Patch by Hansang Bae llvm-svn: 289739
-
- Dec 14, 2016
-
-
Jonathan Peyton authored
Patch by Hansang Bae Differential Revision: https://reviews.llvm.org/D26688 llvm-svn: 289732
-
Andrey Churbanov authored
Patch by Victor Campos. Differential Revision: https://reviews.llvm.org/D27647 llvm-svn: 289640
-
- Dec 08, 2016
-
-
Sylvestre Ledru authored
Summary: Implemented by Dejan Latinovic See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=790735 for more more information Reviewers: AndreyChurbanov, jlpeyton Subscribers: openmp-commits, mgorny Differential Revision: https://reviews.llvm.org/D26576 llvm-svn: 289032
-
- Dec 01, 2016
-
-
Andrey Churbanov authored
llvm-svn: 288368
-
- Nov 28, 2016
-
-
Jonathan Peyton authored
Patch by Victor Campos Differential Revision: https://reviews.llvm.org/D27172 llvm-svn: 288056
-
Andrey Churbanov authored
Cleanup: memory leaks on warnings printing fixed; some memory freeing cleaned; poor indents and one typo fixed. Patch by Victor Campos. Differential Revision: https://reviews.llvm.org/D26786 llvm-svn: 288054
-
- Nov 21, 2016
-
-
Jonathan Peyton authored
llvm-svn: 287552
-
Jonathan Peyton authored
Paul Osmialowski pointed out a double free bug in shutdown code. This patch Moves the freeing of the implicit task to above the freeing of all fast memory to prevent the double-free issue. Differential Revision: https://reviews.llvm.org/D26860 llvm-svn: 287551
-
- Nov 14, 2016
-
-
Jonathan Peyton authored
Have developer timers use partitioning scheme which also required that some redundant developer timers be removed in favor of the already existing normal timers. Move per thread stats initialization to just after global thread id assignment which is as early as possible. Also put all global stats initialization code in __kmp_stats_init() and all global stats destruction code in __kmp_stats_fini(). Differential Revision: https://reviews.llvm.org/D26361 llvm-svn: 286892
-
Jonathan Peyton authored
This set of changes enables the affinity interface (Either the preexisting native operating system or HWLOC) to be dynamically set at runtime initialization. The point of this change is that we were seeing performance degradations when using HWLOC. This allows the user to use the old affinity mechanisms which on large machines (>64 cores) makes a large difference in initialization time. These changes mostly move affinity code under a small class hierarchy: KMPAffinity class Mask {} KMPNativeAffinity : public KMPAffinity class Mask : public KMPAffinity::Mask KMPHwlocAffinity class Mask : public KMPAffinity::Mask Since all interface functions (for both affinity and the mask implementation) are virtual, the implementation can be chosen at runtime initialization. Differential Revision: https://reviews.llvm.org/D26356 llvm-svn: 286890
-