Alexey Bataev
1185e193a4
[OPENMP 4.1] Allow to use 'uval' and 'ref' modifiers for reference types only.
...
Standard allows to use 'uval' and 'ref' modifiers in 'linear' clause for variables with reference types only. Added check for it and modified test.
llvm-svn: 245556
2015-08-20 12:15:57 +00:00
Alexey Bataev
182227bd5b
[OPENMP 4.1] Initial support for modifiers in 'linear' clause.
...
OpenMP 4.1 adds 3 optional modifiers to 'linear' clause.
Format of 'linear' clause has changed to:
```
linear(linear-list[ : linear-step])
```
where linear-list is one of the following
```
list
modifier(list)
```
where modifier is one of the following:
```
ref (C++)
val (C/C++)
uval (C++)
```
Patch adds parsing and sema analysis for these modifiers.
llvm-svn: 245550
2015-08-20 10:54:39 +00:00
Michael Wong
e710d5459e
This patch commits OpenMP 4 target device clauses
...
This is committed on behalf of Kelvin Li
http://reviews.llvm.org/D11469?id=31227
llvm-svn: 244325
2015-08-07 16:16:36 +00:00
Alexey Bataev
10e775f4a8
[OPENMP 4.1] Initial support for extended 'ordered' clause.
...
OpenMP 4.1 introduces optional argument '(n)' for 'ordered' clause, where 'n' is a number of loops that immediately follow the directive.
'n' must be constant positive integer expressions and it must be less or equal than the number of the loops in the resulting loop nest.
Patch adds parsing and semantic analysis for this optional argument.
llvm-svn: 243635
2015-07-30 11:36:16 +00:00
Samuel Antao
5b0688edfd
[OpenMP] Make target data directive generate unexpected directive diagnostic.
...
llvm-svn: 242906
2015-07-22 16:02:46 +00:00
Daniel Jasper
9aea860ca2
Add missing parentheses to appease -Wlogical-op-parentheses.
...
Add missing case to appease -Wswitch.
llvm-svn: 242797
2015-07-21 16:18:51 +00:00
Michael Wong
65f367fcbb
Commit for http://reviews.llvm.org/D10765
...
for OpenMP 4 target data directive parsing and sema.
This commit is on behalf of Kelvin Li.
llvm-svn: 242785
2015-07-21 13:44:28 +00:00
Alexey Bataev
80909878ad
[OPENMP 4.0] Initial support for 'omp cancel' construct.
...
Implemented parsing/sema analysis + (de)serialization.
llvm-svn: 241253
2015-07-02 11:25:17 +00:00
Alexey Bataev
6d4ed05830
[OPENMP 4.0] Initial support for 'omp cancellation point' construct.
...
Add parsing and sema analysis for 'omp cancellation point' directive.
llvm-svn: 241145
2015-07-01 06:57:41 +00:00
Alexey Bataev
1c2cfbc3ea
[OPENMP] Initial support for 'depend' clause (4.0).
...
Parsing and sema analysis (without support for array sections in arguments) for 'depend' clause (used in 'task' directive, OpenMP 4.0).
llvm-svn: 240409
2015-06-23 14:25:19 +00:00
Alexey Bataev
aac108a324
[OPENMP] Do not emit references to original variables in 'private' clause.
...
Currently if the variable is captured in captured region, capture record for this region stores reference to this variable for future use. But we don't need to provide the reference to the original variable if it was explicitly marked as private in the 'private' clause of the OpenMP construct, this variable is replaced by private copy.
Differential Revision: http://reviews.llvm.org/D9550
llvm-svn: 240377
2015-06-23 04:51:00 +00:00
Alexey Bataev
c30dd2daf9
[OPENMP] Support for '#pragma omp taskgroup' directive.
...
Added parsing, sema analysis and codegen for '#pragma omp taskgroup' directive (OpenMP 4.0).
The code for directive is generated the following way:
#pragma omp taskgroup
<body>
void __kmpc_taskgroup(<loc>, thread_id);
<body>
void __kmpc_end_taskgroup(<loc>, thread_id);
llvm-svn: 240011
2015-06-18 12:14:09 +00:00
Alexey Bataev
39f915b8f4
[OPENMP] Code cleanup for capturing of variables in OpenMP regions.
...
llvm-svn: 236821
2015-05-08 10:41:21 +00:00
Alexey Bataev
a8d4a54346
[OPENMP] Fix crash on private variables not used in OpenMP region.
...
llvm-svn: 233902
2015-04-02 07:48:16 +00:00
Kaelyn Takata
1586782767
Enable ActOnIdExpression to use delayed typo correction for non-C++ code
...
when calling DiagnoseEmptyLookup.
llvm-svn: 222551
2014-11-21 18:48:04 +00:00
Kaelyn Takata
b16e632c64
Wire up delayed typo correction to DiagnoseEmptyLookup and set up
...
Sema::ActOnIdExpression to use the new functionality.
Among other things, this allows recovery in several cases where it
wasn't possible before (e.g. correcting a mistyped static_cast<>).
llvm-svn: 222464
2014-11-20 22:06:40 +00:00
Alexey Bataev
13314bf526
[OPENMP] 'omp teams' directive basic support.
...
Includes parsing and semantic analysis for 'omp teams' directive support from OpenMP 4.0. Adds additional analysis to 'omp target' directive with 'omp teams' directive.
llvm-svn: 219385
2014-10-09 04:18:56 +00:00
Renato Golin
9804fa5d48
Revert "[OPENMP] 'omp teams' directive basic support. Includes parsing and semantic analysis for 'omp teams' directive support from OpenMP 4.0. Adds additional analysis to 'omp target' directive with 'omp teams' directive."
...
This reverts commit r219197 because it broke ARM self-hosting buildbots with
segmentation fault errors in many tests.
llvm-svn: 219289
2014-10-08 09:06:45 +00:00
Alexey Bataev
941bbec6f4
[OPENMP] 'omp teams' directive basic support.
...
Includes parsing and semantic analysis for 'omp teams' directive support from OpenMP 4.0. Adds additional analysis to 'omp target' directive with 'omp teams' directive.
llvm-svn: 219197
2014-10-07 10:13:33 +00:00
Alexander Musman
e4e893bb36
[OPENMP] Parsing/Sema of directive omp parallel for simd
...
llvm-svn: 218299
2014-09-23 09:33:00 +00:00
Alexey Bataev
0bd520b767
[OPENMP] Initial parsing/sema analysis of 'target' directive.
...
llvm-svn: 218110
2014-09-19 08:19:49 +00:00
Alexander Musman
f82886e502
Parsing/Sema of directive omp for simd
...
llvm-svn: 218029
2014-09-18 05:12:34 +00:00
Alexey Bataev
82bad8b026
[OPENMP] Initial parsing and sema analysis for clause 'seq_cst' of 'atomic' directive.
...
llvm-svn: 213846
2014-07-24 08:55:34 +00:00
Alexey Bataev
459dec0ca2
[OPENMP] Initial parsing and sema analysis for clause 'capture' in 'atomic' directive.
...
llvm-svn: 213842
2014-07-24 06:46:57 +00:00
Alexey Bataev
67a4f22f12
[OPENMP] Initial parsing and sema analysis for 'update' clause of 'atomic' directive.
...
llvm-svn: 213735
2014-07-23 10:25:33 +00:00
Alexey Bataev
dea4761c06
[OPENMP] Initial parsing an sema analysis for 'write' clause of 'atomic' directive.
...
llvm-svn: 213728
2014-07-23 07:46:59 +00:00
Alexey Bataev
f98b00c33e
[OPENMP] Initial parsing and sema analysis for 'read' clause in 'atomic' directive.
...
llvm-svn: 213717
2014-07-23 02:27:21 +00:00
Alexey Bataev
0162e459ef
[OPENMP] Initial parsing and sema analysis for 'atomic' directive.
...
llvm-svn: 213639
2014-07-22 10:10:35 +00:00
Alexey Bataev
9fb6e647e7
[OPENMP] Initial parsing and sema analysis for 'ordered' directive.
...
llvm-svn: 213616
2014-07-22 06:45:04 +00:00
Alexey Bataev
6125da9258
[OPENMP] Initial parsing and sema analysis for 'flush' directive.
...
llvm-svn: 213512
2014-07-21 11:26:11 +00:00
Alexander Musman
d9ed09f7a5
[OPENMP] Parsing/Sema of the OpenMP directive 'critical'.
...
llvm-svn: 213510
2014-07-21 09:42:05 +00:00
Alexey Bataev
2df347ad96
[OPENMP] Initial parsing and sema analysis for 'taskwait' directive.
...
llvm-svn: 213363
2014-07-18 10:17:07 +00:00
Alexey Bataev
4d1dfeabc9
[OPENMP] Initial parsing and sema analysis for 'barrier' directive.
...
llvm-svn: 213360
2014-07-18 09:11:51 +00:00
Alexey Bataev
68446b7253
[OPENMP] Initial parsing and sema analysis of 'taskyield' directive.
...
llvm-svn: 213355
2014-07-18 07:47:19 +00:00
Alexey Bataev
74ba3a5880
[OPENMP] Initial parsing and sema analysis of 'mergeable' clause.
...
llvm-svn: 213262
2014-07-17 12:47:03 +00:00
Alexey Bataev
7aea99a310
[OPENMP] Initial support for parsing and sema analysis of 'untied' clause.
...
llvm-svn: 213257
2014-07-17 12:19:31 +00:00
Alexander Musman
80c2289a03
[OPENMP] Parsing/Sema analysis of directive 'master'
...
llvm-svn: 213237
2014-07-17 08:54:58 +00:00
Alexey Bataev
3778b60176
[OPENMP] Initial parsing and sema analysis for 'final' clause.
...
llvm-svn: 213232
2014-07-17 07:32:53 +00:00
Alexey Bataev
9c2e8ee72f
[OPENMP] Parsing and sema analysis for 'omp task' directive.
...
llvm-svn: 212804
2014-07-11 11:25:16 +00:00
Alexey Bataev
84d0b3efee
[OPENMP] Parsing and sema analysis for 'omp parallel sections' directive.
...
llvm-svn: 212516
2014-07-08 08:12:03 +00:00
Alexey Bataev
4acb859fbd
[OPENMP] Added initial support for 'omp parallel for'.
...
llvm-svn: 212453
2014-07-07 13:01:15 +00:00
Alexey Bataev
bae9a793fd
[OPENMP] Parsing and sema analysis for 'copyprivate' clause.
...
llvm-svn: 211886
2014-06-27 10:37:06 +00:00
Alexey Bataev
d1e40fbfe1
[OPENMP] Initial parsing and sema analysis for 'single' directive.
...
llvm-svn: 211774
2014-06-26 12:05:45 +00:00
Alexey Bataev
1e0498a92d
[OPENMP] Initial parsing and sema analysis for 'section' directive.
...
llvm-svn: 211767
2014-06-26 08:21:58 +00:00
Alexey Bataev
d3f8dd2d15
[OPENMP] Initial support for 'sections' directive.
...
llvm-svn: 211685
2014-06-25 11:44:49 +00:00
Alexey Bataev
236070f20d
[OPENMP] Initial support for 'nowait' clause.
...
llvm-svn: 211352
2014-06-20 11:19:47 +00:00
Alexey Bataev
142e1fc9ea
[OPENMP] Initial support for 'ordered' clause.
...
llvm-svn: 211347
2014-06-20 09:44:06 +00:00
Alexey Bataev
56dafe87c2
[OPENMP] Initial support for 'schedule' clause.
...
llvm-svn: 211342
2014-06-20 07:16:17 +00:00
Alexey Bataev
23b6942634
[OPENMP] Reformatting and code improvement.
...
llvm-svn: 211147
2014-06-18 07:08:49 +00:00
Alexey Bataev
f29276edb7
[OPENMP] Initial support for '#pragma omp for' (fixed incompatibility with MSVC).
...
llvm-svn: 211140
2014-06-18 04:14:57 +00:00