Commit Graph

95 Commits

Author SHA1 Message Date
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