Go to file
Alexey Bataev 7e6803e07b Incorrect implicit data-sharing for nested tasks
Summary:
There is a minor issue in how the implicit data-sharings for nested tasks are computed.

For the following example:
```
int x;
#pragma omp task shared(x)
#pragma omp task
x++;
```
We compute an implicit data-sharing of shared for `x` in the second task although I think that it should be firstprivate. Below you can find the part of the OpenMP spec that covers this example:
- // In a task generating construct, if no default clause is present, a variable for which the data-sharing attribute is not determined by the rules above and that in the enclosing context is determined to be shared by all implicit tasks bound to the current team is shared.//
- //In a task generating construct, if no default clause is present, a variable for which the data-sharing attribute is not determined by the rules above is firstprivate.//

Since each implicit-task has its own copy of `x`, we shouldn't apply the first rule.

Reviewers: ABataev

Reviewed By: ABataev

Subscribers: cfe-commits, rogfer01

Tags: #openmp

Differential Revision: https://reviews.llvm.org/D56430

llvm-svn: 350734
2019-01-09 15:58:05 +00:00
clang Incorrect implicit data-sharing for nested tasks 2019-01-09 15:58:05 +00:00
clang-tools-extra [clangd] Add a test for SignatureHelp on dynamic index. 2019-01-09 13:42:03 +00:00
compiler-rt [test] Detect glibc-2.27+ and XFAIL appropriate tests 2019-01-09 13:27:29 +00:00
debuginfo-tests Set config.lit_tools_dir, which is needed by lit.llvm.initialize. 2018-11-06 21:54:27 +00:00
libclc cmake: Install libraries to DATADIR from GNUInstallDirs 2019-01-07 20:20:37 +00:00
libcxx Mark two more tests as FLAKY 2019-01-09 05:48:54 +00:00
libcxxabi [libcxx] Remove bad_array_length 2018-11-29 19:44:57 +00:00
libunwind [Sparc] Add Sparc V8 support 2019-01-09 12:06:05 +00:00
lld [LLD][ELF] - Fix BB after r350726. 2019-01-09 15:06:57 +00:00
lldb [CMakeLists] Sort tools/CMakeLists.txt 2019-01-09 00:31:30 +00:00
llgo
llvm [mips][micrompis] Emit 16bit NOPs by default 2019-01-09 15:58:02 +00:00
openmp Doc: fixed description of a parameter of the __kmpc_taskloop 2019-01-09 13:06:23 +00:00
parallel-libs
polly [CMake] Fix generation of exported targets in build directory 2018-11-06 15:18:17 +00:00
pstl [pstl] A fix of __pstl namespace usage for include/pstl/internal/glue_algorithm_defs.h 2019-01-09 14:07:09 +00:00
README.md Update the project name in README.md 2018-10-19 00:03:01 +00:00

README.md

The LLVM Compiler Infrastructure

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.