summaryrefslogtreecommitdiffstats
path: root/test/OpenMP/for_lastprivate_messages.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Revert "[OPENMP] Allow skip expression after comma in clauses with lists."Alexey Bataev2016-04-011-2/+2
| | | | | | | This reverts commit http://reviews.llvm.org/rL265003. After some thoughts decided to emit errors here. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@265119 91177308-0d34-0410-b5e6-96231b3b80d8
* [OPENMP] Allow skip expression after comma in clauses with lists.Alexey Bataev2016-03-311-2/+2
| | | | | | Compatibility fix for better compatibility with the existing software. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@265003 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow static local variables specified on data-sharing attribute clauses.Kelvin Li2015-09-151-0/+4
| | | | | | | http://reviews.llvm.org/D11619 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247715 91177308-0d34-0410-b5e6-96231b3b80d8
* [OPENMP 4.1] Allow variables with reference types in private clauses.Alexey Bataev2015-08-181-4/+4
| | | | | | | OpenMP 4.1 allows to use variables with reference types in all private clauses (private, firstprivate, lastprivate, linear etc.). Patch allows to use such variables and fixes codegen for linear variables with reference types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@245268 91177308-0d34-0410-b5e6-96231b3b80d8
* [OPENMP 4.1] Support for 'linear' clause in loop directives.Alexey Bataev2015-08-041-4/+0
| | | | | | | OpenMP 4.1 allows 'linear' clause in loop directives. Patch adds support for it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@243969 91177308-0d34-0410-b5e6-96231b3b80d8
* [OPENMP] Fixed codegen for parameters privatization.Alexey Bataev2015-05-211-2/+2
| | | | | | | For parameters we shall take a derived type of parameters, not the original one. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@237882 91177308-0d34-0410-b5e6-96231b3b80d8
* [OPENMP] -fopenmp enables OpenMP support (fix for http://llvm.org/PR23492)Alexey Bataev2015-05-201-1/+1
| | | | | | | | -fopenmp turns on OpenMP support and links libiomp5 as OpenMP library. Also there is -fopenmp={libiomp5|libgomp} option that allows to override effect of -fopenmp and link libgomp library (if -fopenmp=libgomp is specified). Differential Revision: http://reviews.llvm.org/D9736 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@237769 91177308-0d34-0410-b5e6-96231b3b80d8
* [OPENMP] Fixed analysis of function arguments and their data sharing attributes.Alexey Bataev2015-05-191-1/+8
| | | | | | | Added proper analysis for types of function arguments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@237670 91177308-0d34-0410-b5e6-96231b3b80d8
* [OPENMP] Fix for checking of data-sharing attributes for canonical var decls ↵Alexey Bataev2015-04-161-0/+12
| | | | | | | | | | | | | only. Currently checks for active data-sharing attributes for variables are performed for found var decls. Instead these checks must be performed for canonical decls of these variables to avoid possible troubles with with the differently qualified re-declarations of the same variable, for example: namespace A { int x; } namespace B { using A::x; } Both A::x and B::x actually reference the same object A::x and this fact must be taken into account during data-sharing attributes analysis. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@235096 91177308-0d34-0410-b5e6-96231b3b80d8
* [OPENMP] Codegen for 'lastprivate' clause in 'for' directive.Alexey Bataev2015-04-161-15/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | #pragma omp for lastprivate(<var>) for (i = a; i < b; ++b) <BODY>; This construct is translated into something like: <last_iter> = alloca i32 <lastprivate_var> = alloca <type> <last_iter> = 0 ; No initializer for simple variables or a default constructor is called for objects. ; For arrays perform element by element initialization by the call of the default constructor. ... OMP_FOR_START(...,<last_iter>, ..); sets <last_iter> to 1 if this is the last iteration. <BODY> ... OMP_FOR_END if (<last_iter> != 0) { <var> = <lastprivate_var> ; Update original variable with the lastprivate value. } call __kmpc_cancel_barrier() ; an implicit barrier to avoid possible data race. Differential Revision: http://reviews.llvm.org/D8658 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@235074 91177308-0d34-0410-b5e6-96231b3b80d8
* [OPENMP] Improved diagnostic messages for vars with the predetermined data ↵Alexey Bataev2014-06-191-8/+8
| | | | | | sharing attributes and reformatting git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211262 91177308-0d34-0410-b5e6-96231b3b80d8
* [OPENMP] Initial support for '#pragma omp for' (fixed incompatibility with ↵Alexey Bataev2014-06-181-0/+266
| | | | | | MSVC). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211140 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert "[OPENMP] Initial support for '#pragma omp for'."Rafael Espindola2014-06-171-266/+0
| | | | | | | | This reverts commit r211096. Looks like it broke the msvc build: SemaOpenMP.cpp(140) : error C4519: default template arguments are only allowed on a class template git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211113 91177308-0d34-0410-b5e6-96231b3b80d8
* [OPENMP] Initial support for '#pragma omp for'.Alexey Bataev2014-06-171-0/+266
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211096 91177308-0d34-0410-b5e6-96231b3b80d8