| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Added support for imperfectly nested loops introduced in OpenMP 5.0.
|
|
|
|
|
|
|
| |
According to OpenMP 5.0, range-based for is also considered as a
canonical form of loops.
llvm-svn: 373939
|
|
|
|
|
|
| |
Added parsing/sema analysis of the allocate clause.
llvm-svn: 357068
|
|
|
|
|
|
|
|
| |
According to OpenMP, the reduction item must be shared in parent region.
But the item can be an array section or array subscript. In this case,
we should not check for the datasharing of the base declaration.
llvm-svn: 343356
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
-ast-print prints omp pragmas with a trailing space. While this
behavior is likely of little concern to most users, surely it's
unintentional, and it's annoying for some source-level work I'm
pursuing. This patch focuses on omp pragmas, but it also fixes
init_seg and loop hint pragmas because they share implementation.
The testing strategy here is to add usually just one '{{$}}' per
relevant -ast-print test file. This seems to achieve good code
coverage. However, this strategy is probably easy to forget as the
tests evolve. That's probably fine as this fix is far from critical.
The main goal of the testing is to aid the initial review.
This patch also adds a fixme for "#pragma unroll", which prints as
"#pragma unroll (enable)", which is invalid syntax.
Reviewers: ABataev
Reviewed By: ABataev
Subscribers: guansong, cfe-commits
Differential Revision: https://reviews.llvm.org/D43204
llvm-svn: 325145
|
|
|
|
|
|
|
|
|
| |
only.
Added support for -fopenmp-simd option that allows compilation of
simd-based constructs without emission of OpenMP runtime calls.
llvm-svn: 321560
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Output generated by option -ast-print looks like C/C++ code, and it
really is for plain C. For C++ the produced output was not valid C++
code, but the differences were small. With this change the output
is fixed and can be compiled. Tests are changed so that output produced
by -ast-print is compiled again with the same flags and both outputs are
compared.
Option -ast-print is extensively used in clang tests but it itself
was tested poorly, existing tests only checked that compiler did not
crash. There are unit tests in file DeclPrinterTest.cpp, but they test
only terse output mode.
Differential Revision: https://reviews.llvm.org/D26452
llvm-svn: 286439
|
|
|
|
|
|
|
| |
This reverts commit http://reviews.llvm.org/rL265003. After some
thoughts decided to emit errors here.
llvm-svn: 265119
|
|
|
|
|
|
| |
Compatibility fix for better compatibility with the existing software.
llvm-svn: 265003
|
|
|
|
|
|
|
|
| |
OpenMP 4.5 allows to privatize data members of current class in member
functions. Patch adds initial support for privatization of data members
in 'linear' clause, no codegen support.
llvm-svn: 262578
|
|
|
|
|
|
|
|
| |
OpenMP 4.5 allows to privatize non-static data members of current class
in non-static member functions. Patch adds initial support for data
members.
llvm-svn: 261412
|
|
|
|
|
|
|
| |
Patch fixes possible problems with correct handling arrays as
expressions in initialization, conditions etc in loop-based constructs.
llvm-svn: 261080
|
|
|
|
|
|
|
|
| |
functions in 'private' clause.
OpenMP 4.5 allows to use non-static members of current class in non-static member functions in 'private' clause. Patch adds initial support for privatizing data members.
llvm-svn: 258299
|
|
|
|
|
|
| |
According to OpenMP 4.5 "A linear clause or an ordered clause with a parameter can be specified on a loop directive but not both.""
llvm-svn: 256485
|
|
|
|
|
|
| |
OpenMP 4.1 allows 'linear' clause in loop directives. Patch adds support for it.
llvm-svn: 243969
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
-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
llvm-svn: 237769
|
|
|
|
| |
llvm-svn: 211589
|
|
|
|
| |
llvm-svn: 211352
|
|
|
|
| |
llvm-svn: 211347
|
|
|
|
| |
llvm-svn: 211342
|
|
|
|
|
|
| |
sharing attributes and reformatting
llvm-svn: 211262
|
|
|
|
|
|
| |
MSVC).
llvm-svn: 211140
|
|
|
|
|
|
|
|
| |
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
llvm-svn: 211113
|
|
llvm-svn: 211096
|