forked from OSchip/llvm-project
![]() #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 llvm-svn: 235074 |
||
---|---|---|
.. | ||
arcmt-test | ||
c-arcmt-test | ||
c-index-test | ||
clang-check | ||
clang-format | ||
clang-format-vs | ||
clang-fuzzer | ||
diag-build | ||
diagtool | ||
driver | ||
libclang | ||
scan-build | ||
scan-view | ||
CMakeLists.txt | ||
Makefile |