llvm-project/clang/lib
Alexey Bataev 94a4f0cb5f [OPENMP 4.0] Initial support for 'omp declare reduction' construct.
Add parsing, sema analysis and serialization/deserialization for 'declare reduction' construct.
User-defined reductions are defined as

#pragma omp declare reduction( reduction-identifier : typename-list : combiner ) [initializer ( initializer-expr )]
These custom reductions may be used in 'reduction' clauses of OpenMP constructs. The combiner specifies how partial results can be combined into a single value. The
combiner can use the special variable identifiers omp_in and omp_out that are of the type of the variables being reduced with this reduction-identifier. Each of them will
denote one of the values to be combined before executing the combiner. It is assumed that the special omp_out identifier will refer to the storage that holds the resulting
combined value after executing the combiner.
As the initializer-expr value of a user-defined reduction is not known a priori the initializer-clause can be used to specify one. Then the contents of the initializer-clause
will be used as the initializer for private copies of reduction list items where the omp_priv identifier will refer to the storage to be initialized. The special identifier
omp_orig can also appear in the initializer-clause and it will refer to the storage of the original variable to be reduced.
Differential Revision: http://reviews.llvm.org/D11182

llvm-svn: 262582
2016-03-03 05:21:39 +00:00
..
ARCMigrate Fix some Clang-tidy readability-redundant-control-flow warnings; other minor fixes. 2016-02-10 19:11:58 +00:00
AST [OPENMP 4.0] Initial support for 'omp declare reduction' construct. 2016-03-03 05:21:39 +00:00
ASTMatchers Fix a -Wunused-variable diagnostic. 2016-02-23 10:29:04 +00:00
Analysis [analyzer] Find ObjC 'self' decl even when block captures local named 'self'. 2016-02-23 22:26:04 +00:00
Basic [OPENMP 4.0] Initial support for 'omp declare reduction' construct. 2016-03-03 05:21:39 +00:00
CodeGen [OPENMP 4.0] Initial support for 'omp declare reduction' construct. 2016-03-03 05:21:39 +00:00
Driver clang-cl pch test: Instead of copying the input, use /Fp to not write into the test directory. 2016-03-02 23:29:29 +00:00
Edit Remove autoconf support 2016-01-26 21:30:40 +00:00
Format clang-format: [JS] Optionally re-quote string literals. 2016-03-02 22:44:03 +00:00
Frontend [PGO] Change profile use cc1 option to handle IR level profiles 2016-03-02 20:59:36 +00:00
FrontendTool Revert r260265, "clang-cl: Support loading plugins on Windows" 2016-02-11 16:33:20 +00:00
Headers This patch adds doxygen comments for all the intrinsincs in the header file tmmintrin.h. 2016-03-03 00:20:11 +00:00
Index [index] Fix issue where data visitation was disabled with C++ operator call expressions, during indexing. 2016-03-01 02:46:32 +00:00
Lex SemaCXX: Support templates in availability attributes 2016-02-26 19:27:00 +00:00
Parse [OPENMP 4.0] Initial support for 'omp declare reduction' construct. 2016-03-03 05:21:39 +00:00
Rewrite Remove use of builtin comma operator. 2016-02-18 22:34:54 +00:00
Sema [OPENMP 4.0] Initial support for 'omp declare reduction' construct. 2016-03-03 05:21:39 +00:00
Serialization [OPENMP 4.0] Initial support for 'omp declare reduction' construct. 2016-03-03 05:21:39 +00:00
StaticAnalyzer [analyzer] Move ObjCSuperDeallocChecker out of the alpha package. 2016-03-02 22:01:03 +00:00
Tooling Add functions to apply replacements and reformat them. 2016-03-01 12:37:30 +00:00
CMakeLists.txt Fix build with various feature flag combinations 2014-07-14 22:17:22 +00:00