aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-10-08[OpenMP] Enable thread affinity on FreeBSDDavid Carlier
Reviewers: chandlerc, jlpeyton, jdoerfert, dim Reviewed-By: dim Differential Revision: https://reviews.llvm.org/D68580 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@374118 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-08Don't assume Type from `readelf -d` has parenthesesAndrey Churbanov
Patch by jbeich (Jan Beich) Differential Revision: https://reviews.llvm.org/D68053 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@374038 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-08Don't link libm with -Wl,--as-needed on FreeBSDAndrey Churbanov
Patch by jbeich (Jan Beich) Differential Revision: https://reviews.llvm.org/D68051 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@374037 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-04[libomptarget][nfc] Update remaining uint32 to use lanemask_tJon Chesterfield
Summary: [libomptarget][nfc] Update remaining uint32 to use lanemask_t Update a few functions in the API to use lanemask_t instead of i32. NFC for nvptx. Also update the ActiveThreads type in DataSharingStateTy. This removes a lot of #ifdef from the downsteam amdgcn implementation. Reviewers: ABataev, jdoerfert, grokos, ronlieb, RaviNarayanaswamy Subscribers: openmp-commits Tags: #openmp Differential Revision: https://reviews.llvm.org/D68513 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@373806 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-04Use named constant to indicate all lanes, to handle 32 and 64 wide architecturesJon Chesterfield
Summary: Use named constant to indicate all lanes, to handle 32 and 64 wide architectures Reviewers: ABataev, jdoerfert, grokos, ronlieb Reviewed By: grokos Subscribers: ronlieb, openmp-commits Tags: #openmp Differential Revision: https://reviews.llvm.org/D68369 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@373793 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-28[OpenMP] FreeBSD address check if mapped more nativeDavid Carlier
/proc unless Linux layer compatibility is activated for CentOS is activated is not present thus relying on a more native for checking the address. Reviewers: Hahnfeld, kongyl, jdoerfert, jlpeyton, AndreyChurbanov, emaster, dim Reviewed By: Hahnfeld Differential Revision: https://reviews.llvm.org/D67326 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@373152 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-27[Clang][OpenMP Offload] Create start/end symbols for the offloading entry ↵Sergey Dmitriev
table with a help of a linker Linker automatically provides __start_<section name> and __stop_<section name> symbols to satisfy unresolved references if <section name> is representable as a C identifier (see https://sourceware.org/binutils/docs/ld/Input-Section-Example.html for details). These symbols indicate the start address and end address of the output section respectively. Therefore, renaming OpenMP offload entries section name from ".omp.offloading_entries" to "omp_offloading_entries" to use this feature. This is the first part of the patch for eliminating OpenMP linker script (please see https://reviews.llvm.org/D64943). Differential Revision: https://reviews.llvm.org/D68070 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@373118 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-25fixed test: eliminated race condition which might cause deadlockAndrey Churbanov
git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@372887 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-25Enable tasks dependencies hashmaps resizing.Andrey Churbanov
Patch by viroulep (Philippe Virouleau) Differential Revision: https://reviews.llvm.org/D67447 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@372879 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-04[OpenMP] Change initialization of __kmp_globalJonas Hahnfeld
There's no need to initialize variables with static storage duration because they're implicitly initialized to zero. See https://en.cppreference.com/w/c/language/initialization#Implicit_initialization I think that's already relied upon because the supplied 0 only sets 'kmp_time_global_t g_time;' in 'struct kmp_base_global'. The other fields are not set in the code, but implicitly initialized by the compiler. Differential Revision: https://reviews.llvm.org/D66292 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@370943 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-03[OPENMP][NVPTX]Fix parallel level counter in non-SPMD mode.Alexey Bataev
Summary: In non-SPMD mode we may end up with the divergent threads when trying to increment/decrement parallel level counter. It may lead to incorrect calculations of the parallel level and wrong results when threads are divergent. We need to reconverge the threads before trying to modify the parallel level counter. Reviewers: grokos, jdoerfert Subscribers: guansong, openmp-commits, caomhin, kkwli0 Tags: #openmp Differential Revision: https://reviews.llvm.org/D66802 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@370803 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-03[libomptarget] Refactor activemask macro to inline functionJon Chesterfield
Summary: [libomptarget] Refactor activemask macro to inline function See also abandoned D66846, split into this diff and others. Reviewers: jdoerfert, ABataev, grokos, ronlieb, gregrodgers Reviewed By: jdoerfert, ABataev Subscribers: openmp-commits Tags: #openmp Differential Revision: https://reviews.llvm.org/D66851 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@370781 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-28Use target_impl functions to replace more inline asmJon Chesterfield
Summary: Use target_impl functions to replace more inline asm Follow on from D65836. Removes remaining asm shuffles and lanemask accessors Also changes the types of target_impl bitwise functions to unsigned. Reviewers: jdoerfert, ABataev, grokos, Hahnfeld, gregrodgers, ronlieb, hfinkel Subscribers: openmp-commits Tags: #openmp Differential Revision: https://reviews.llvm.org/D66809 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@370216 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-28[libomptarget] Refactor syncthreads macro to inline functionJon Chesterfield
Summary: [libomptarget] Refactor syncthreads macro to inline function See also abandoned D66846, split into this diff and others. Rev 2 of D66855 Reviewers: jdoerfert, ABataev, grokos, ronlieb, gregrodgers Subscribers: openmp-commits Tags: #openmp Differential Revision: https://reviews.llvm.org/D66861 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@370210 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-28[libomptarget] Refactor syncwarp macro to inline functionJon Chesterfield
Summary: [libomptarget] Refactor syncwarp macro to inline function See also abandoned D66846, split into this diff and others. Reviewers: jdoerfert, ABataev, grokos, ronlieb, gregrodgers Subscribers: openmp-commits Tags: #openmp Differential Revision: https://reviews.llvm.org/D66857 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@370149 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-28Fix build break due to close brace lost in mergeJon Chesterfield
git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@370148 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-28[libomptarget] Refactor shfl_down_sync macro to inline functionJon Chesterfield
Summary: [libomptarget] Refactor shfl_down_sync macro to inline function See also abandoned D66846, split into this diff and others. Reviewers: jdoerfert, ABataev, grokos, ronlieb, gregrodgers Subscribers: openmp-commits Tags: #openmp Differential Revision: https://reviews.llvm.org/D66853 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@370146 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-28[libomptarget] Refactor shfl_sync macro to inline functionJon Chesterfield
Summary: [libomptarget] Refactor shfl_sync macro to inline function See also abandoned D66846, split into this diff and others. Reviewers: jdoerfert, ABataev, grokos, ronlieb, gregrodgers Subscribers: openmp-commits Tags: #openmp Differential Revision: https://reviews.llvm.org/D66852 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@370144 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-26[OPENMP][NVPTX]Add __kmpc_syncwarp(int32_t) function.Alexey Bataev
Summary: Added function void __kmpc_syncwarp(int32_t) to expose it to the compiler. It is required to fix the problem with the critical regions in Cuda9.0+. We cannot use barrier in the critical region, but still need to reconverge the threads in the warp after. This function allows to do this. Reviewers: grokos, jdoerfert Subscribers: guansong, openmp-commits, kkwli0, caomhin Tags: #openmp Differential Revision: https://reviews.llvm.org/D66672 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@369933 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-23[OPENMP][NVPTX]Use __syncwarp() to reconverge the threads.Alexey Bataev
Summary: In Cuda 9.0 it is not guaranteed that threads in the warps are convergent. We need to use __syncwarp() function to reconverge the threads and to guarantee the memory ordering among threads in the warps. This is the first patch to fix the problem with the test libomptarget/deviceRTLs/nvptx/src/sync.cu on Cuda9+. This patch just replaces calls to __shfl_sync() function with the call of __syncwarp() function where we need to reconverge the threads when we try to modify the value of the parallel level counter. Reviewers: grokos Subscribers: guansong, jfb, jdoerfert, caomhin, kkwli0, openmp-commits Tags: #openmp Differential Revision: https://reviews.llvm.org/D65013 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@369796 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-20Force honoring nthreads-var and thread-limit-var inside teams construct on hostJonathan Peyton
This patch fixes https://bugs.llvm.org/show_bug.cgi?id=42906, via adding adjustment of number of threads on enter to the teams construct on host according to user settings. This allows to pass checks and avoid assertions at time of team of threads creation. Patch by Andrey Churbanov Differential Revision: https://reviews.llvm.org/D66351 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@369430 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-15[OpenMP] Enable warning about "implicit fallthrough"Jonas Hahnfeld
Fix last warned location in ittnotify_static.cpp using the defined macro KMP_FALLTHROUGH(). Differential Revision: https://reviews.llvm.org/D65871 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@369003 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-15[OpenMP] Remove 'unnecessary parentheses'Jonas Hahnfeld
The variables in kmp_lock.cpp are really arrays of function pointers that return void or int, not pointers to functions that return void* or int*. The other changes are only cosmetic. Differential Revision: https://reviews.llvm.org/D65870 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@369002 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-15[OMPT] Resolve warnings because of ints in if conditionsJonas Hahnfeld
The implementation status can only be one of ompt_event_UNIMPLEMENTED = ompt_set_never = 1 ompt_event_MAY_ALWAYS = ompt_set_always = 5 In both cases, the condition was already true, so just remove the check. Differential Revision: https://reviews.llvm.org/D65869 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@369001 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-15[OpenMP] Turn on -Wall compiler warnings by defaultJonas Hahnfeld
Instead, maintain a list of disabled options to still build libomp and libomptarget without warnings. This includes -Wno-error and -Wno-pedantic to silence warnings that LLVM enables when building in-tree. I tested the following compilers: * Clang 6.0, 7.0, 8.0 * GCC 4.8.5 (CentOS 7), GCC 6, 7, 8, 9 * Intel Compiler 16, 17, 18, 19 RFC thread on openmp-dev mailing list: http://lists.llvm.org/pipermail/openmp-dev/2019-August/002668.html Differential Revision: https://reviews.llvm.org/D65867 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@368999 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-13Factor architecture dependent code out of loop.cuJon Chesterfield
Summary: [libomptarget] Factor architecture dependent code out of loop.cu Related to the patch series starting D64217. Added subscribers to said series as reviewers. This effort is smaller in scope. This patch factors out just enough architecture dependent code from loop.cu to allow the same source to be used with amdgcn, given a different target_impl.h. Testing is that the same bitcode (modulo variable names) is generated for libomptarget before and after the refactor, for nvptx and the out of tree amdgcn. Reviewers: jdoerfert, ABataev, bollu, jfb, tra, grokos, Hahnfeld, guansong, xtian, gregrodgers, ronlieb, hfinkel, gtbercea, guraypp, arpith-jacob Reviewed By: jdoerfert, ABataev Subscribers: dexonsmith, openmp-commits Tags: #openmp Differential Revision: https://reviews.llvm.org/D65836 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@368751 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-12Cleanup unused variable.Andrey Churbanov
This patch fixes problem raised in post-review comments of the https://reviews.llvm.org/D65285. Developers of ittnotify confirmed that dll_path_ptr field of the __itt_global structure is never used by ittnotify library, so it is safe to remove the dll_path array. Differential Revision: https://reviews.llvm.org/D65885 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@368559 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-09[OpenMP][libomptarget] Add support for close map modifierGheorghe-Teodor Bercea
Summary: This patch adds support for the close map modifier. The close map modifier will overwrite the unified shared memory requirement and create a device copy of the data. Reviewers: ABataev, Hahnfeld, caomhin, grokos, jdoerfert, AlexEichenberger Reviewed By: Hahnfeld, AlexEichenberger Subscribers: guansong, openmp-commits Tags: #openmp Differential Revision: https://reviews.llvm.org/D65340 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@368488 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-09[libomptarget] Remove duplicate RTLRequiresFlags per deviceJonas Hahnfeld
We have one global RTLs.RequiresFlags, I don't see a need to make a copy per device that the runtime manages. This was problematic anyway because the copy happened during the first __tgt_register_lib(). This made it impossible to call __tgt_register_requires() from normal user funtions for testing. Hence, this change also fixes unified_shared_memory/shared_update.c for older versions of Clang that don't call __tgt_register_requires() before __tgt_register_lib(). Differential Revision: https://reviews.llvm.org/D66019 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@368465 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-07[OpenMP][libomptarget] Add support for unified memory for regular mapsGheorghe-Teodor Bercea
Summary: This patch adds support for using unified memory in the case of regular maps that happen when a target region is offloaded to the device. For cases where only a single version of the data is required then the host address can be used. When variables need to be privatized in any way or globalized, then the copy to the device is still required for correctness. Reviewers: ABataev, jdoerfert, Hahnfeld, AlexEichenberger, caomhin, grokos Reviewed By: Hahnfeld Subscribers: mgorny, guansong, openmp-commits Tags: #openmp Differential Revision: https://reviews.llvm.org/D65001 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@368192 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-07Use forceinline. Necessary for nvcc to inline small functions within the ↵Jon Chesterfield
bitcode library Summary: [libomptarget] Use forceinline. Necessary for nvcc to inline small functions within the bitcode library Suggested in D65836 Reviewers: ABataev, jdoerfert, grokos, gregrodgers Subscribers: openmp-commits Tags: #openmp Differential Revision: https://reviews.llvm.org/D65876 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@368177 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-06[OPENMP][OFFLOADING]Fix the test, NFC.Alexey Bataev
git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@368068 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-05[OpenMP] Add support for GOMP_*_nonmonotonic_* functionsJonathan Peyton
Patch by Isuru Fernando Differential Revision: https://reviews.llvm.org/D65714 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@367949 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-05[OpenMP] Fix broken build due to new OMPT testsHansang Bae
New OMPT tests with teams construct should be disabled for GCC as it emits code with a GOMP entry not supported in the LLVM runtime. Differential Revision: https://reviews.llvm.org/D65757 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@367939 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-05[libomptarget] Harmonize emitting CUDA errors and general debug messages.Michael Kruse
Ensures that CUDA fail reasons (such as "No CUDA-capable device detected") are printed together with libomptarget's debug message (e.g. "Error when setting CUDA context"). Previously, the former was printed only in CMAKE_BUILD_TYPE=Debug builds while the latter was enabled by LIBOMPTARGET_ENABLE_DEBUG. With this change, also only call cuGetErrorString when the error will be printed. Suggested-by: Ye Luo <xw111luoye@gmail.com> Differential Revision: https://reviews.llvm.org/D65687 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@367910 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-04[OpenMP 5.0] libomptarget interface for declare mapper functions.Michael Kruse
This patch implements the libomptarget runtime interface for OpenMP 5.0 declare mapper functions. The declare mapper functions generated by Clang will call them to complete the mapping of members. kmpc_mapper_num_components gets the current number of components for a user-defined mapper; kmpc_push_mapper_component pushes back one component for a user-defined mapper. The design slides can be found at https://github.com/lingda-li/public-sharing/blob/master/mapper_runtime_design.pptx Patch by Lingda Li <lildmh@gmail.com> Differential Revision: https://reviews.llvm.org/D60972 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@367772 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-03Add OMPT support for teams constructHansang Bae
This change adds OMPT support for events from teams construct. Differential Revision: https://reviews.llvm.org/D64025 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@367746 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-30[OpenMP] Rename last file to cpp and remove LIBOMP_CFLAGSJonas Hahnfeld
All other files are already C++ and the build system has always passed '-x c++' for C files, effectively compiling them as C++. To stay warning free we need one fix in ittnotify_static.{c,cpp}: The variable dll_path can be written to, so it must not be const. GCC complained with -Wcast-qual and I think it's right. Differential Revision: https://reviews.llvm.org/D65285 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@367343 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-25[openmp] Workaround bug in old Android pthread_attr_setstacksizeYi Kong
Round the stack size to a multiple of the page size. Older versions of Android (until KitKat) would fail pthread_attr_setstacksize with EINVAL if the stack size was not a multiple of the page size. Patch by Dan Albert <danalbert@google.com>. Test: Build, copied into the NDK, passed openmp test on ICS. Bug: https://github.com/android-ndk/ndk/issues/9 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@367070 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-25[OpenMP] Fix build of stubs library, NFC.Jonas Hahnfeld
Both Clang and GCC complained that they cannot initialize a return object of type 'kmp_proc_bind_t' with an 'int'. While at it, also fix a warning about missing parentheses thrown by Clang. Differential Revision: https://reviews.llvm.org/D65284 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@367041 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-25[OPENMP][NVPTX]Perform memory flush if number of threads to sync is 1 or less.Alexey Bataev
Summary: According to the OpenMP standard, barrier operation must perform implicit flush operation. Currently, if there is only one thread in the team, barrier does not flush the memory. Patch fixes this problem. Reviewers: grokos, gtbercea, kkwli0 Subscribers: guansong, jdoerfert, openmp-commits, caomhin Tags: #openmp Differential Revision: https://reviews.llvm.org/D62398 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@367024 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-25[OpenMP] RISCV64 portJonas Hahnfeld
This is a port of libomp for the RISC-V 64-bit Linux target. We have tested this port on a HiFive Unleashed development board using a downstream LLVM that has support for the missing bits in upstream. As of now, all tests are passing, including OMPT. Patch by Ferran Pallarès! Differential Revision: https://reviews.llvm.org/D59880 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@367021 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-23[libomptarget] Handle offload policy in push_tripcountJonas Hahnfeld
If the first target region in a program calls the push_tripcount function, libomptarget didn't handle the offload policy correctly. This could lead to unexpected error messages as seen in http://lists.llvm.org/pipermail/openmp-dev/2019-June/002561.html To solve this, add a check calling IsOffloadDisabled() as all other entry points already do. If this method returns false, libomptarget is effectively disabled. Differential Revision: https://reviews.llvm.org/D64626 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@366810 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-22[OMPT] Cleanup reset of exit_frame pointerJonas Hahnfeld
This is done at call-site and does not need to be handled in __kmp_invoke_microtask. It was already absent from the x86 and x86_64 assembly, this patch removes it from the generic implementation in z_Linux_util.cpp and adds documentation for AArch64 and PPC64 that it's actually not needed. I can't test on these architectures, so I don't want to change the code just because it looks right :) While at it, rename some variables for consistency and add a check in test/ompt/parallel/normal.c that the pointer was reset before entering the barrier. Differential Revision: https://reviews.llvm.org/D64442 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@366721 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-22Delete empty fileJonas Hahnfeld
This is a left-over from r356288 which was reviewed in D58989. git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@366716 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-18[OpenMP][libomptarget] Suppress C++ 11 related warnings when building ↵Alexey Bataev
libomptarget-nvptx bitcode library, by Doru Bercea. Summary: Pass -std=c++11 flag to compiler to suppress C++ 11 related warnings when building NVPTX bitcode library. Reviewers: ABataev, caomhin, Hahnfeld Reviewed By: ABataev, Hahnfeld Subscribers: jdoerfert, Hahnfeld, jholewinski, mgorny, guansong, openmp-commits Tags: #openmp Differential Revision: https://reviews.llvm.org/D55772 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@366438 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-17[OPENMP] Resolve lost LoopTripCnt for subsequent loops in same thread.Ron Lieberman
Remove loopTripCnt from threaded device stack after consuming it. Added a libomptarget DP message to aid in future debugging and to validate the added testcase, which only runs in Debug build. Differential Revision: https://reviews.llvm.org/D64808 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@366349 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-17Remove REQUIRES OMP spec version within lit testsJonathan Peyton
This is a follow up patch to D64534 (r365963) which removed all OMP spec versioning within the OpenMP runtime codebase. This patch removes REQUIRES: openmp-x.y lines from lit tests. git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@366341 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-16[OpenMP] Move header inclusion out of 'extern "C"'Jonas Hahnfeld
This leads to problems when compiling C++ code with libc++ for Nvidia GPUs because Clang now uses wrappers for math functions that might include C++ templates not allowed in 'extern "C"'. Differentiel Revision: https://reviews.llvm.org/D64625 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@366229 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-16[OPENMP][NVPTX]Fixed checks for cuda versions.Alexey Bataev
Summary: We used CUDART_VERSION macro to check for the installed cuda version but this macro is defined in cuda_runtime_api.h, which is not used by project. Better to use CUDA_VERSION macro, which is defined in cuda.h. Also, added the check if this macro is defined. If macro is undefined, there is something wrong with the cuda configuration and we should not continue the compilation. This also fixes problems with runtime building in cuda 10+. Reviewers: grokos Subscribers: guansong, jdoerfert, caomhin, kkwli0, openmp-commits Tags: #openmp Differential Revision: https://reviews.llvm.org/D64648 git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@366224 91177308-0d34-0410-b5e6-96231b3b80d8