Jonathan Peyton
6e8917bce1
Change Intel(R) OpenMP* to LLVM* OpenMP* in libomp.rc.var
...
Missed some places that referenced the Intel(R) OpenMP* Runtime Library.
llvm-svn: 238840
2015-06-02 15:06:08 +00:00
Jonathan Peyton
476679aee4
Apply name change to testsuite file.
...
This change has the llvm-lit part of the testsuite have clang
link to libomp instead of libiomp5.
llvm-svn: 238721
2015-06-01 04:24:23 +00:00
Jonathan Peyton
32be447d55
Apply name change to Makefile build system.
...
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
2015-06-01 04:21:22 +00:00
Jonathan Peyton
227e1aeb13
Apply name change to CMake build system.
...
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
2015-06-01 03:05:13 +00:00
Jonathan Peyton
f0efbb5410
Apply name change to tools/* files.
...
These changes are all in comments. Change libiomp references to
libomp.
llvm-svn: 238713
2015-06-01 02:41:44 +00:00
Jonathan Peyton
663382950d
Apply name change to src/* files.
...
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
2015-06-01 02:37:28 +00:00
Jonathan Peyton
469dcc63fb
Apply name change to doxygen files.
...
This change only affects the doxygen file that contains a
reference to libiomp5. change libiomp5 to libomp.
llvm-svn: 238711
2015-06-01 02:32:03 +00:00
Jonathan Peyton
1fdcb8b5d7
Adding libomp.rc.var for name change
...
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
2015-06-01 02:26:08 +00:00
Jonathan Peyton
92907c2ab9
Allow CMAKE_OSX_ARCHITECTURES to build fat library.
...
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
2015-05-29 16:13:56 +00:00
Jonathan Peyton
caf09fe022
Fix comment about balanced affinity
...
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
2015-05-27 23:27:33 +00:00
Jonathan Peyton
6bfc9190f1
Allow gcc 5.x to compile library.
...
Change check of __GNUC__ macro from:
__GNUC__ == 4 to __GNUC__ >= 4
llvm-svn: 238347
2015-05-27 18:57:33 +00:00
Jonathan Peyton
9901699970
Change macro GUIDEDLL_EXPORTS to KMP_DYNAMIC_LIB
...
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
2015-05-26 17:32:53 +00:00
Jonathan Peyton
fbb1514805
Change CMake file formatting
...
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
2015-05-26 17:27:01 +00:00
Jonathan Peyton
9e6eb48f77
One line fix for possible out-of-bounds issue in kmp_runtime.c
...
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
2015-05-26 16:38:26 +00:00
Jonathan Peyton
ff8007711a
One line fix for possible out-of-bounds issue in kmp_error.c
...
This off-by-one error could lead to an out-of-bounds access on the
cons_text_c[] array.
llvm-svn: 238215
2015-05-26 16:30:41 +00:00
Andrey Churbanov
7af7c8df31
fixed missed arch renaming (from C.Bergstrom)
...
llvm-svn: 238153
2015-05-25 20:01:16 +00:00
Jonathan Peyton
81f9cd1335
Fix doxygen comments
...
These fixes make doxygen happy.
llvm-svn: 238061
2015-05-22 22:37:22 +00:00
Jonathan Peyton
1406f014fd
Fix spelling errors
...
These spelling errors are in comments and some debug messages.
llvm-svn: 238060
2015-05-22 22:35:51 +00:00
Jonathan Peyton
7881aa1b3a
One line fix - bug with final clause of task construct
...
Should be looking at parent_task->td_flags.final instead of the recently allocated task.
llvm-svn: 237959
2015-05-21 21:16:38 +00:00
Jonathan Peyton
057d77d8c1
Fix task team synchronization
...
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
2015-05-21 17:20:01 +00:00
Jonathan Peyton
7979a07611
Change CMake variable prefix to LIBOMP
...
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
2015-05-20 22:33:24 +00:00
Jonathan Peyton
dee6ce71ac
Makefile fix for testsuite -- Follow up to r237618
...
This changes INCLUDE_PATH to C_INCLUDE_PATH and misspelled CLASH to SLASH
Patch by Sunita Chandrasekaran
llvm-svn: 237727
2015-05-19 21:28:33 +00:00
Jonathan Peyton
41216393a4
Fix for testsuite including omp.h
...
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
2015-05-18 21:38:50 +00:00
Jonathan Peyton
f91cebf7c5
Delete old CMake build system
...
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
2015-05-18 21:21:25 +00:00
Jonathan Peyton
e70f810378
Small fix to allow FreeBSD build to work.
...
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
2015-05-15 19:57:36 +00:00
Jonathan Peyton
38b54cb67b
Testing commit privilege
...
Added comment to CMakeLists.txt about library install directory suffix option.
llvm-svn: 237384
2015-05-14 19:54:56 +00:00
Andrey Churbanov
708fa8e899
Cross compiler build fix [Important] - from J.Peyton, initial version from C.Bergstrom.
...
llvm-svn: 237360
2015-05-14 12:54:08 +00:00
Andrey Churbanov
e3ebce6bdf
Removed mentioning of OpenMP as unsupported feature (patch2 from A.Bokhanko)
...
llvm-svn: 237253
2015-05-13 13:42:59 +00:00
Andrey Churbanov
5a7a5d1dab
patch to allow lib name at configure time (from C.Bergstrom)
...
llvm-svn: 237130
2015-05-12 13:31:57 +00:00
Andrey Churbanov
5c8f90b1ad
Missing file runtime/src/include/41/ompt.h.var added; fixed build to optionally use added file.
...
llvm-svn: 237125
2015-05-12 13:10:54 +00:00
Andrey Churbanov
4dc2a6b704
D9576: Updates documentation to include all possible architecture builds, synchronizes runtime/README.txt and www/README.txt, updates the building-with-CMake documentation. This change also changes references of Intel(R) OpenMP Library to LLVM OpenMP Library.
...
llvm-svn: 237124
2015-05-12 12:52:43 +00:00
Andrey Churbanov
820b25550b
Change some text areas from saying Intel(R) OpenMP runtime library to LLVM OpenMP runtime library.
...
llvm-svn: 236884
2015-05-08 17:41:32 +00:00
Andrey Churbanov
535b6faaf0
D9306 omp 4.1 async offload support (partial): code changes
...
llvm-svn: 236753
2015-05-07 17:41:51 +00:00
Andrey Churbanov
062e198d93
D9306 omp 4.1 async offload support (partial): build changes for version 4.1
...
llvm-svn: 236746
2015-05-07 17:07:06 +00:00
Andrey Churbanov
ea4fa5dd1d
D9306 omp 4.1 async offload support (partial): added version 4.1 headers.
...
llvm-svn: 236744
2015-05-07 16:58:05 +00:00
Andrey Churbanov
5db6639225
D7631: added regression tests for hinted locks - to be integrated into testsuite.
...
llvm-svn: 236632
2015-05-06 19:40:54 +00:00
Andrey Churbanov
51aecb82cd
D9302.partial2: cleanup of ittnotify checks, that eliminats redundant notifications in case of nested regions.
...
llvm-svn: 236631
2015-05-06 19:22:36 +00:00
Andrey Churbanov
e6bfb73fd5
D9302.partial: bug fix for ittnotify: added missed timing on hierarchical barrier.
...
llvm-svn: 236623
2015-05-06 18:34:15 +00:00
Andrey Churbanov
f39dc63053
Added missed symbol omp_in_final into include/module files.
...
llvm-svn: 236619
2015-05-06 18:13:52 +00:00
Andrey Churbanov
c6317d55e4
ittnotify: change default notification mode to 3, which includes parallel regions, barriers + imbalance, loops, single regions reporting.
...
llvm-svn: 236616
2015-05-06 17:41:58 +00:00
Andrey Churbanov
8389e235e9
Liboffload: Patch for MPSS > 3.4.x (provided by Tim Cramer)
...
llvm-svn: 236588
2015-05-06 10:58:40 +00:00
Andrey Churbanov
648467ed05
Integrate libiomp CMake into LLVM CMake build system.
...
This patch integrates the libiomp CMake build system into the LLVM CMake build
system so that users can checkout libiomp into the projects directory of llvm
and build llvm,clang, and libiomp all together. These changes specifically
introduce a new install target which will put libraries and headers into the
correct locations when either a standalone build or part of llvm.
The copy_recipe() method has been removed in favor of the POST_BUILD method
to move headers into the exports subdirectory. And lastly, the MicroTests.cmake
file was refactored which led to simpler target dependencies and a new target,
make libiomp-micro-tests, which performs the 5 small tests (test-relo,
test-touch, etc.) when called.
llvm-svn: 236534
2015-05-05 20:02:52 +00:00
Andrey Churbanov
d7d088f815
These are the actual changes in the runtime to issue OMPT-related functions. All of them are surrounded by #if OMPT_SUPPORT and can be disabled (which is the default).
...
llvm-svn: 236122
2015-04-29 16:42:24 +00:00
Andrey Churbanov
e5f4492e30
This patch contains the new files for OMPT and the needed changes to the build infrastructure
...
llvm-svn: 236117
2015-04-29 16:22:07 +00:00
Andrey Churbanov
8d09facaf2
This is a preparation patch to get information about the actual release status from nested locks for OMPT.
...
llvm-svn: 236114
2015-04-29 15:52:19 +00:00
Andrey Churbanov
a951e21087
UH OpenMP testsuite update
...
llvm-svn: 236105
2015-04-29 14:36:38 +00:00
Andrey Churbanov
1021040de3
updated copyright date to 2015
...
llvm-svn: 235086
2015-04-16 11:10:17 +00:00
Andrey Churbanov
aa1f2b6306
The generation of the hierarchy used by hierarchical barrier improved in how the generation reacts to affinity set to none, or disabled, or no affinity available, or oversubscription. Some cleanup actions based on review comments to follow: need to use meaningful names instead of digital constants, e.g. use enumerators.
...
llvm-svn: 234775
2015-04-13 18:51:59 +00:00
Andrey Churbanov
74bf17b8ff
Replace some unsafe API calls with safe alternatives on Windows, prepare code for similar actions on other platforms - wrap unsafe API calls into macros.
...
llvm-svn: 233915
2015-04-02 13:27:08 +00:00
Andrey Churbanov
1362ae750f
Eliminated the write to depth field of the machine_hierarchy data structure in __kmp_get_hierarchy(), thus fixing race condition. Now local variable used by each thread.
...
llvm-svn: 233914
2015-04-02 13:18:50 +00:00
Andrey Churbanov
d39f11c026
fix for broken commit 231774
...
llvm-svn: 231781
2015-03-10 10:14:57 +00:00
Andrey Churbanov
16a1432176
issuing of incorrect warning fixed
...
llvm-svn: 231779
2015-03-10 09:34:38 +00:00
Andrey Churbanov
2b8ecbeeb6
cleanup: removed unused function __kmp_change_thread_affinity_mask
...
llvm-svn: 231778
2015-03-10 09:31:21 +00:00
Andrey Churbanov
94e569e0e6
proc_bind_disabled enum value removed, its usage replased with proc_bind_false
...
llvm-svn: 231776
2015-03-10 09:19:47 +00:00
Andrey Churbanov
1f037e495a
cleanup: usages of mask size wrapped into macros
...
llvm-svn: 231775
2015-03-10 09:15:26 +00:00
Andrey Churbanov
7b2ab719fe
Adding some 8-bit atomic operations for future use
...
llvm-svn: 231774
2015-03-10 09:03:42 +00:00
Andrey Churbanov
128755741f
changed unsigned types to signed - caused by comments of Hal Finkel on one of earlier patches
...
llvm-svn: 231773
2015-03-10 09:00:36 +00:00
Andrey Churbanov
1b625ddc0d
moved Windows-specific flags under the WINDOWS guard in CMake
...
llvm-svn: 231384
2015-03-05 17:50:48 +00:00
Andrey Churbanov
1035f5721a
added KMP_NESTED_HOT_TEAMS macro definition
...
llvm-svn: 231383
2015-03-05 17:48:53 +00:00
Andrey Churbanov
e4b9213f80
minor change: comment improved
...
llvm-svn: 231381
2015-03-05 17:46:50 +00:00
Andrey Churbanov
bebb54050b
Cleanup provided by Carlo Bertolli
...
llvm-svn: 231078
2015-03-03 16:19:57 +00:00
Andrey Churbanov
f42e83cf72
Removed all header files for OpenMP 2.5
...
llvm-svn: 230521
2015-02-25 18:38:08 +00:00
Andrey Churbanov
2638298646
Export the common header files to exports/ with CMake
...
llvm-svn: 230520
2015-02-25 18:32:30 +00:00
Andrey Churbanov
6d313413a8
Set the Intel compiler as default when building for the MIC without CMake
...
llvm-svn: 230519
2015-02-25 18:30:50 +00:00
Andrey Churbanov
e8595de647
Two warning messages fixed.
...
llvm-svn: 230035
2015-02-20 18:19:41 +00:00
Andrey Churbanov
fda00d095f
Misprint in comment fixed
...
llvm-svn: 230034
2015-02-20 18:17:03 +00:00
Andrey Churbanov
613edeb89b
Detect Intel MIC architecture and set some defaults at run time instead of build time.
...
llvm-svn: 230033
2015-02-20 18:14:43 +00:00
Andrey Churbanov
723a6b64bb
Removed unused varargs from __kmpc_flush function.
...
llvm-svn: 230032
2015-02-20 18:09:27 +00:00
Andrey Churbanov
5c56fb55b0
Added new user-guided lock api, currently disabled. Use KMP_USE_DYNAMIC_LOCK=1 to enable it.
...
llvm-svn: 230030
2015-02-20 18:05:17 +00:00
Andrey Churbanov
a5547bce79
Changed default stack offset for threads on non-Mac architectures to a CACHE_LINE.
...
llvm-svn: 230029
2015-02-20 17:57:58 +00:00
Andrey Churbanov
f790286c33
Added some compiler flags for security on Linux and Mac link stages.
...
llvm-svn: 230027
2015-02-20 17:55:48 +00:00
Andrey Churbanov
b41e62b713
Fixed memory corruption problem.
...
llvm-svn: 228736
2015-02-10 20:10:21 +00:00
Andrey Churbanov
440af7eccc
Updated the kmp_omp_struct_info_t structure used by debuggers.
...
llvm-svn: 228734
2015-02-10 19:53:13 +00:00
Andrey Churbanov
851563f9c3
OpenMP 4.0 standard function omp_is_initial_device() implemented.
...
llvm-svn: 228730
2015-02-10 19:47:09 +00:00
Andrey Churbanov
c5bccf94eb
Added comment on format of local labels in asm code
...
llvm-svn: 228727
2015-02-10 19:31:17 +00:00
Andrey Churbanov
054c50bf4f
Added CFI directives to asm code in order to have correct backtraces in gdb.
...
llvm-svn: 228721
2015-02-10 18:51:52 +00:00
Andrey Churbanov
6d224dbda7
The usage of tt_state flag is replaced by an array of two task_team pointers.
...
llvm-svn: 228718
2015-02-10 18:37:43 +00:00
Andrey Churbanov
9bf5328f97
Pin the libiomp5.dll for the lifetime of application, Windows-specific
...
llvm-svn: 227469
2015-01-29 17:18:20 +00:00
Andrey Churbanov
5cd50e3c0a
enable environment variable KMP_PLACE_THREADS also for non-MIC architectures
...
llvm-svn: 227467
2015-01-29 17:14:58 +00:00
Andrey Churbanov
78bfb7c3a7
fix that sets proc-bind-var to proc_bind_false if affinity is not supported
...
llvm-svn: 227454
2015-01-29 15:52:20 +00:00
Andrey Churbanov
4b2f17a1d3
fixing typo in error message
...
llvm-svn: 227451
2015-01-29 15:49:22 +00:00
Andrey Churbanov
9ffc098fb5
fixing mistake in kmp_get_affinity_max_proc() api function
...
llvm-svn: 227450
2015-01-29 15:48:21 +00:00
Andrey Churbanov
571fd8acca
fixing the Fortran modules dependencies
...
llvm-svn: 227449
2015-01-29 15:43:48 +00:00
Andrey Churbanov
898a56eb27
adding the jobs variable for parallel build
...
llvm-svn: 227447
2015-01-29 15:37:15 +00:00
Andrey Churbanov
d9e775edfc
Comments only: removing the Revision and Date svn variables from the top of all the source files.
...
llvm-svn: 227207
2015-01-27 17:13:53 +00:00
Andrey Churbanov
7a3467ab9d
minor formatting change
...
llvm-svn: 227205
2015-01-27 17:06:18 +00:00
Andrey Churbanov
1c33129956
Enables a cpuid leaf 4 check for non-MIC x86 architectures.
...
llvm-svn: 227204
2015-01-27 17:03:42 +00:00
Andrey Churbanov
df6555b6ef
Adds some new Windows processor groups trace messages
...
llvm-svn: 227203
2015-01-27 17:00:03 +00:00
Andrey Churbanov
a36de4339b
Fixes error where proc-bind-var is not set when there is a parsing error of GOMP_AFFINITY environment variable.
...
llvm-svn: 227202
2015-01-27 16:58:08 +00:00
Andrey Churbanov
f696c820cd
Removes some unused variables (__kmp_ht_*) and changes__kmp_ncores and __kmp_nThreadsPerCore to static globals within kmp_affinity.cpp.
...
llvm-svn: 227201
2015-01-27 16:55:43 +00:00
Andrey Churbanov
7daf9803f5
Replaces KMP_OS_WINDOWS && KMP_ARCH_X86_64 or any combination of those two options with the feature macro KMP_GROUP_AFFINITY.
...
llvm-svn: 227199
2015-01-27 16:52:57 +00:00
Andrey Churbanov
42a79217a8
Fixed implementation of the teams construct in case it contains parallel regions with different number of threads.
...
llvm-svn: 227198
2015-01-27 16:50:31 +00:00
Andrey Churbanov
d1c5504097
added support for PPC architectures (version 3): initial patch provided by Carlo Bertolli, latest version from Johnny Peyton
...
llvm-svn: 226479
2015-01-19 18:29:35 +00:00
Andrey Churbanov
b8039074d0
Two fixes sent by C.Bergstrom: MB() does real synch for ARM; _Quad is not used when not available.
...
llvm-svn: 226464
2015-01-19 14:00:00 +00:00
Andrey Churbanov
f6451d90d6
few fixes for ittnotify iterface (used by Intel(R) VTune Amplifier)
...
llvm-svn: 226283
2015-01-16 15:58:03 +00:00
Andrey Churbanov
19be978ecf
cleanup changes of cmake-building for Intel(R) Many Integrated Core Architecture
...
llvm-svn: 226272
2015-01-16 13:05:23 +00:00
Andrey Churbanov
d315ceac18
cleanup changes of building for Intel(R) Many Integrated Core Architecture
...
llvm-svn: 226271
2015-01-16 12:54:51 +00:00
Andrey Churbanov
169d02f832
fixed the missed bracket introduced by checkin rev 225792
...
llvm-svn: 225796
2015-01-13 15:16:49 +00:00
Andrey Churbanov
f28f613eda
This patch enables the use of KMP_AFFINITY=balanced on non-MIC Architectures. The restriction for using balanced affinity on non-MIC architectures is it only works for one-package machines.
...
llvm-svn: 225794
2015-01-13 14:54:00 +00:00
Andrey Churbanov
3984da5608
small fixes to the hierarchical barrier
...
llvm-svn: 225793
2015-01-13 14:47:02 +00:00