summaryrefslogtreecommitdiffstats
path: root/openmp
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix OMPT state maintenance for barriers and missing init of implicit task id.Jonathan Peyton2015-06-292-7/+18
| | | | | | | | | | | | | | | | | | Fix OMPT support for barriers so that state changes occur even if OMPT_TRACE turned off. These state changes are needed by performance tools that use callbacks for either ompt_event_wait_barrier_begin or ompt_event_wait_barrier_end. Change ifdef flag to OMPT_BLAME for callbacks ompt_event_wait_barrier_begin or ompt_event_wait_barrier_end rather than OMPT_TRACE -- they were misclassified. Without this patch, when the runtime is compiled with LIBOMP_OMPT_SUPPORT=true, LIBOMP_OMPT_BLAME=true, and LIBOMP_OMPT_TRACE=false, and a callback is registered for either ompt_event_wait_barrier_begin or ompt_event_wait_barrier_end, then an assertion will trip. Fix the scoping of one OMPT_TRACE ifdef, which should not have surrounded an update of an OMPT state. Add a missing initialization of an OMPT task id for an implicit task. Patch by John Mellor-Crummey Differential Revision: http://reviews.llvm.org/D10759 llvm-svn: 240970
* Allow machine hierarchy expansionJonathan Peyton2015-06-221-10/+78
| | | | | | | | | This fix allows the machine hierarchy to be expanded in case it needs to handle more threads. It adds a resize function to accomplish this. Differential Revision: http://reviews.llvm.org/D9900 llvm-svn: 240292
* Re-enable Visual Studio Builds.Jonathan Peyton2015-06-222-7/+4
| | | | | | | | | I tried to compile with Visual Studio using CMake and found these two sections of code causing problems for Visual Studio. The first one removes the use of variable length arrays by instead using KMP_ALLOCA(). The second part eliminates a redundant cpuid assembly call by using the already existing __kmp_x86_cpuid() call instead. llvm-svn: 240290
* Have CMake error out on Windows when user wants OMPT supportJonathan Peyton2015-06-172-4/+7
| | | | | | | | | | | Currently, OMPT support requires the weak attribute which isn't supported on Windows. This patch has CMake error out when LIBOMP_OMPT_SUPPORT=true and the users is building on Windows. http://lists.cs.uiuc.edu/pipermail/openmp-dev/2015-June/000692.html Patch by Jonas Hahnfeld llvm-svn: 239912
* Remove unused variables '__kmp_build_check_*' for non assert builds.Jonathan Peyton2015-06-113-4/+15
| | | | | | | | | | | | Add new LIBOMP_ENABLE_ASSERTIONS macro which can be set in a standalone build or takes the value of LLVM_ENABLE_ASSERTIONS when inside llvm/projects. This change also defines the KMP_BUILD_ASSERT() macro to do nothing when ENABLE_ASSERTIONS is off. This means the __kmp_build_check_* types won't be defined and thus, no warnings. http://lists.cs.uiuc.edu/pipermail/openmp-dev/2015-June/000719.html Patch by Jack Howarth and Jonathan Peyton llvm-svn: 239546
* Implement recursive CMake.Jonathan Peyton2015-06-113-365/+359
| | | | | | | | | | | | | | Most CMake build systems put CMakeLists.txt files inside source directories where items need to get built. This change follows that convention by adding a new runtime/src/CMakeLists.txt file. An additional benefit is this helps logically seperate configuring with building as well. This change is mostly just copying and pasting the bottom half of runtime/CMakeLists.txt into runtime/src/CMakeLists.txt, but a few changes had to be made to get it to work. Most of those changes were to directory prefixes. Differential Revision: http://reviews.llvm.org/D10344 llvm-svn: 239542
* Remove unused variables '__kmp_build_check_*'Jonathan Peyton2015-06-081-1/+1
| | | | | | | | | | As an ongoing effort to sanitize the openmp code, this one word change eliminates creating 1 byte arrays named __kmp_build_check_* and instead creates one byte array types. The KMP_BUILD_ASSERT macro still offers the same functionality; array types with negative number of elements is illegal and will cause a compiler failure. llvm-svn: 239337
* Remove unused variable warnings by deletion.Jonathan Peyton2015-06-0811-54/+2
| | | | | | | | | | As an ongoing effort to sanitize the openmp code, these changes delete variables that aren't used at all. http://lists.cs.uiuc.edu/pipermail/openmp-dev/2015-June/000701.html Patch by Jack Howarth llvm-svn: 239334
* Remove unused variable warnings by moving variables.Jonathan Peyton2015-06-082-5/+5
| | | | | | | | | As an ongoing effort to sanitize the openmp code, these changes move variables under already existing macro guards. Patch by Jack Howarth llvm-svn: 239331
* Remove unused variable warnings by adding proper macro guards.Jonathan Peyton2015-06-088-2/+27
| | | | | | | | | As an ongoing effort to sanitize the openmp code, these changes remove unused variables by adding proper macros around both variables and functions. Patch by Jack Howarth llvm-svn: 239330
* Remove unused variable warnings by fooling compiler.Jonathan Peyton2015-06-086-11/+28
| | | | | | | | | | Some variables are convenient to keep around even if they aren't really used in a release build. This is often seen in DEBUG guarded code where the variable is only used in a DEBUG build. Patch by Jack Howarth llvm-svn: 239326
* Removed unused functions.Jonathan Peyton2015-06-082-123/+0
| | | | | | | | | | | As an ongoing effort to sanitize the openmp code, these changes remove unused functions. The unused functions are: __kmp_fini_allocator_thread(), __kmp_env_isDefined(), __kmp_strip_quotes(), __kmp_convert_to_seconds(), and __kmp_convert_to_nanoseconds(). Patch by Jack Howarth llvm-svn: 239323
* Fix extern warnings produced by ittnotify_static.cJonathan Peyton2015-06-052-4/+8
| | | | | | | | | | | | | | | when compiling with gcc or clang numerous warnings concerning the usage of extern "C" linkage. All the __kmp_itt_sync* variables are declared like: extern "C" type __kmp_itt_sync... = definition; through various macros. This note from cppreference.com explains why this is a problem. // From http://en.cppreference.com/w/cpp/language/language_linkage extern "C" int x; // a declaration and not a definition // The above line is equivalent to extern "C" { extern int x; } extern "C" { int x; } // a declaration and definition Since the __kmp_itt_* variables are being declared and defined, these variables should use the bracketed version instead. llvm-svn: 239184
* Fix some sign compare warnings.Jonathan Peyton2015-06-044-15/+10
| | | | | | | | | This change changes kmp_bstate.old_tid to sign integer instead of unsigned integer. It also defines two new macros KMP_NSEC_PER_SEC and KMP_USEC_PER_SEC which lets us take control of the sign (we want them to be longs). Also, in kmp_wait_release.h, the byteref() function's return type is changed from char to unsigned char. llvm-svn: 239057
* Suppress uninitialized-variable-is-used warning in kmp_csupport.cJonathan Peyton2015-06-031-2/+2
| | | | | | | | | | | The following change is needed to suppress the "variable 'retval' is used uninitialized whenever 'if' condition is false" warnings in runtime/src/kmp_csupport.c. This change just initializes 'retval' to 0. http://lists.cs.uiuc.edu/pipermail/openmp-dev/2015-June/000667.html Patch by Jack Howarth llvm-svn: 238954
* Remove conditional parameters from KA_TRACE macro.Jonathan Peyton2015-06-031-3/+6
| | | | | | | | | It's undefined behavior to have arguments to macros be conditionally preprocessed. http://lists.cs.uiuc.edu/pipermail/openmp-dev/2015-June/000669.html Patch by Jack Howarth and Jonathan Peyton llvm-svn: 238950
* Reorder C++ initialization lists to appease compiler.Jonathan Peyton2015-06-031-3/+4
| | | | | | | | | | | in kmp_wait_release.h, there were some constructors where the initialization lists were out of order with the member declarations inside the class. This patch just reorders the initialization list so the compiler doesn't complain. http://lists.cs.uiuc.edu/pipermail/openmp-dev/2015-June/000670.html Patch by Jack Howarth and Jonathan Peyton llvm-svn: 238946
* Remove unused variable anonym from kmp_atomic.cJonathan Peyton2015-06-031-1/+0
| | | | | | | | | | There is an anonym variable inside a macro that is declared and defined but never used. This patch removes it. http://lists.cs.uiuc.edu/pipermail/openmp-dev/2015-June/000666.html Patch by Jack Howarth and Jonathan Peyton llvm-svn: 238934
* Get rid of some dead code.Jonathan Peyton2015-06-023-11/+8
| | | | | | | | | Some old references to RML and IOMP which aren't used anywhere are deleted. http://lists.cs.uiuc.edu/pipermail/openmp-dev/2015-June/000664.html Patch by Jack Howarth and Jonathan Peyton llvm-svn: 238878
* Remove unused KMP_IOMP_NAME macro from kmp.hJonathan Peyton2015-06-021-3/+0
| | | | | | | Getting rid of more iomp references. http://lists.cs.uiuc.edu/pipermail/openmp-dev/2015-June/000659.html llvm-svn: 238847
* Change Intel(R) OpenMP* to LLVM* OpenMP* in libomp.rc.varJonathan Peyton2015-06-021-3/+3
| | | | | | Missed some places that referenced the Intel(R) OpenMP* Runtime Library. llvm-svn: 238840
* Apply name change to testsuite file.Jonathan Peyton2015-06-011-1/+1
| | | | | | | This change has the llvm-lit part of the testsuite have clang link to libomp instead of libiomp5. llvm-svn: 238721
* Apply name change to Makefile build system.Jonathan Peyton2015-06-013-27/+26
| | | | | | | | This change produces a dynamic library named libomp instead of libiomp5. Similar to the CMake change, it produces symlinks of libiomp5 in the exports/ directory for Unix systems and copies for Windows. llvm-svn: 238720
* Apply name change to CMake build system.Jonathan Peyton2015-06-019-119/+103
| | | | | | | | | | | This change has the CMake build system create a dynamic library named libomp instead of libiomp5. Also any reference to libiomp is replaced with libomp. One can still use the LIBOMP_LIB_NAME variable to enforce a different name, and everything will still work as expected. An important note is that libiomp5 and libgomp symlinks are created at install time when on Unix systems. On Windows, copies are created with the legacy names. llvm-svn: 238715
* Apply name change to tools/* files.Jonathan Peyton2015-06-014-12/+12
| | | | | | | These changes are all in comments. Change libiomp references to libomp. llvm-svn: 238713
* Apply name change to src/* files.Jonathan Peyton2015-06-019-16/+16
| | | | | | | | | These changes are mostly in comments, but there are a few that aren't. Change libiomp5 => libomp everywhere. One internal function name is changed in kmp_gsupport.c, and in kmp_i18n.c, the static char[] variable 'name' is changed to "libomp". llvm-svn: 238712
* Apply name change to doxygen files.Jonathan Peyton2015-06-011-4/+4
| | | | | | | This change only affects the doxygen file that contains a reference to libiomp5. change libiomp5 to libomp. llvm-svn: 238711
* Adding libomp.rc.var for name changeJonathan Peyton2015-06-011-0/+70
| | | | | | | Adding a new file libomp.rc.var in anticipation of more name change commits. This file is a copy of libiomp.rc.var. llvm-svn: 238710
* Allow CMAKE_OSX_ARCHITECTURES to build fat library.Jonathan Peyton2015-05-295-164/+157
| | | | | | | | | | | | | The CMAKE_OSX_ARCHITECTURES CMake variable allows users to build universal fat libraries that contain both i386 and x86_64 code. These changes allow this build by having the z_Linux_asm.s file detect the architecture itself instead of receiving it through the build system. Also, there was a LIBOMP_OSX_ARCHITECTURES CMake variable added to allow people to only build libomp as a fat library and not the entire LLVM/Clang system. http://lists.cs.uiuc.edu/pipermail/openmp-dev/2015-May/000626.html llvm-svn: 238566
* Fix comment about balanced affinityJonathan Peyton2015-05-271-1/+1
| | | | | | | | A while back, Hal mentioned fixing a comment concerning balanced affinity. http://lists.cs.uiuc.edu/pipermail/openmp-dev/2014-December/000358.html I forgot about fixing it until now, but now is better than never. llvm-svn: 238378
* Allow gcc 5.x to compile library.Jonathan Peyton2015-05-271-1/+1
| | | | | | | Change check of __GNUC__ macro from: __GNUC__ == 4 to __GNUC__ >= 4 llvm-svn: 238347
* Change macro GUIDEDLL_EXPORTS to KMP_DYNAMIC_LIBJonathan Peyton2015-05-266-12/+12
| | | | | | | | | | A while back, Hal suggested updating the GUIDEDLL_EXPORTS macro guard to a more descriptive name. It represents a dynamic library build so KMP_DYNAMIC_LIB is a more suitable name. Differential Revision: http://reviews.llvm.org/D9899 llvm-svn: 238221
* Change CMake file formattingJonathan Peyton2015-05-261-93/+136
| | | | | | | | | Removing unnecessary spaces. For CACHE variables, putting the description string on its own line which mimics libcxx. There are no logic changes. Differential Revision: http://reviews.llvm.org/D9945 llvm-svn: 238219
* One line fix for possible out-of-bounds issue in kmp_runtime.cJonathan Peyton2015-05-261-1/+1
| | | | | | | The variable j is now checked so there is no possible out-of-bounds issue when accessing __kmp_nested_nth.nth[] array. llvm-svn: 238216
* One line fix for possible out-of-bounds issue in kmp_error.cJonathan Peyton2015-05-261-2/+2
| | | | | | | This off-by-one error could lead to an out-of-bounds access on the cons_text_c[] array. llvm-svn: 238215
* fixed missed arch renaming (from C.Bergstrom)Andrey Churbanov2015-05-251-1/+1
| | | | llvm-svn: 238153
* Fix doxygen commentsJonathan Peyton2015-05-222-8/+6
| | | | | | These fixes make doxygen happy. llvm-svn: 238061
* Fix spelling errorsJonathan Peyton2015-05-2210-12/+12
| | | | | | These spelling errors are in comments and some debug messages. llvm-svn: 238060
* One line fix - bug with final clause of task constructJonathan Peyton2015-05-211-1/+1
| | | | | | Should be looking at parent_task->td_flags.final instead of the recently allocated task. llvm-svn: 237959
* Fix task team synchronization Jonathan Peyton2015-05-211-0/+1
| | | | | | | | | | | The fix simply syncs up the new threads to have the same task_state and task_team as the old threads. The master thread is skipped, because it shouldn't at this point have the team's task_team value yet -- it should still have parent_team's task_team. It gets pointed at the new team's task_team later, after __kmp_allocate_team returns, and the master has stored a memo of it's old task_state. llvm-svn: 237916
* Change CMake variable prefix to LIBOMPJonathan Peyton2015-05-2010-248/+227
| | | | | | | | | | | Cached CMake variables need to have a prefix so they don't collide with other projects. This change (a lot of simple changes) simply prefixes cached variables with LIBOMP_ and sets all of these variables to UPPERCASE which is convention. e.g., os => LIBOMP_OS, ompt_support => LIBOMP_OMPT_SUPPORT. Differential Revision: http://reviews.llvm.org/D9829 llvm-svn: 237845
* Makefile fix for testsuite -- Follow up to r237618Jonathan Peyton2015-05-191-1/+1
| | | | | | | | This changes INCLUDE_PATH to C_INCLUDE_PATH and misspelled CLASH to SLASH Patch by Sunita Chandrasekaran llvm-svn: 237727
* Fix for testsuite including omp.hJonathan Peyton2015-05-182-1/+2
| | | | | | | | | | | When calling the testsuite, clang could not locate omp.h. The proper environment variable was modified to include: exports/common/omp.h. Documentation was also updated to be more clear. Patch by Sunita Chandrasekaran llvm-svn: 237618
* Delete old CMake build systemJonathan Peyton2015-05-182-191/+0
| | | | | | | | | Remove runtime/CMakeLists.txt.old and runtime/src/CMakeLists.txt as they no longer worked and were not being kept up to date. Differential Revision: http://reviews.llvm.org/D9756 llvm-svn: 237615
* Small fix to allow FreeBSD build to work.Jonathan Peyton2015-05-151-1/+1
| | | | | | | | | | Add xexpand macro to the FTN_IS_INITIAL_DEVICE api function Patch by Davide Italiano Differential Revision: http://reviews.llvm.org/D9798 llvm-svn: 237472
* Testing commit privilegeJonathan Peyton2015-05-141-0/+2
| | | | | | Added comment to CMakeLists.txt about library install directory suffix option. llvm-svn: 237384
* Cross compiler build fix [Important] - from J.Peyton, initial version from ↵Andrey Churbanov2015-05-142-43/+48
| | | | | | C.Bergstrom. llvm-svn: 237360
* Removed mentioning of OpenMP as unsupported feature (patch2 from A.Bokhanko)Andrey Churbanov2015-05-131-3/+1
| | | | llvm-svn: 237253
* patch to allow lib name at configure time (from C.Bergstrom)Andrey Churbanov2015-05-121-1/+2
| | | | llvm-svn: 237130
* Missing file runtime/src/include/41/ompt.h.var added; fixed build to ↵Andrey Churbanov2015-05-122-1/+477
| | | | | | optionally use added file. llvm-svn: 237125
OpenPOWER on IntegriCloud