| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | [OPENMP] Fix for checking of data-sharing attributes for canonical var decls ↵ | Alexey Bataev | 2015-04-16 | 1 | -1/+9 |
| | | | | | | | | | | | | 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. llvm-svn: 235096 | ||||
| * | [OPENMP] Codegen for 'reduction' clause in 'parallel' directive. | Alexey Bataev | 2015-04-10 | 1 | -24/+24 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Emit a code for reduction clause. Next code should be emitted for reductions: static kmp_critical_name lock = { 0 }; void reduce_func(void *lhs[<n>], void *rhs[<n>]) { ... *(Type<i> *)lhs[i] = RedOp<i>(*(Type<i> *)lhs[i], *(Type<i> *)rhs[i]); ... } ... void *RedList[<n>] = {&<RHSExprs>[0], ..., &<RHSExprs>[<n> - 1]}; switch (__kmpc_reduce{_nowait}(<loc>, <gtid>, <n>, sizeof(RedList), RedList, reduce_func, &<lock>)) { case 1: ... <LHSExprs>[i] = RedOp<i>(*<LHSExprs>[i], *<RHSExprs>[i]); ... __kmpc_end_reduce{_nowait}(<loc>, <gtid>, &<lock>); break; case 2: ... Atomic(<LHSExprs>[i] = RedOp<i>(*<LHSExprs>[i], *<RHSExprs>[i])); ... break; default: ; } Reduction variables are a kind of a private variables, they have private copies, but initial values are chosen in accordance with the reduction operation. Differential Revision: http://reviews.llvm.org/D8915 llvm-svn: 234583 | ||||
| * | [OPENMP] Fixed data-sharing attributes processing for variables with global | Alexey Bataev | 2015-01-16 | 1 | -3/+3 |
| | | | | | | | | | storage. This fix allows to use non-constant global variables, static local variables and static data members in data-sharing attribute clauses in parallel and task regions. llvm-svn: 226250 | ||||
| * | [OPENMP] Improved diagnostic messages for vars with the predetermined data ↵ | Alexey Bataev | 2014-06-19 | 1 | -1/+1 |
| | | | | | | | sharing attributes and reformatting llvm-svn: 211262 | ||||
| * | [OPENMP] Initial support for '#pragma omp for' (fixed incompatibility with ↵ | Alexey Bataev | 2014-06-18 | 1 | -106/+131 |
| | | | | | | | MSVC). llvm-svn: 211140 | ||||
| * | Revert "[OPENMP] Initial support for '#pragma omp for'." | Rafael Espindola | 2014-06-17 | 1 | -131/+106 |
| | | | | | | | | | 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 | ||||
| * | [OPENMP] Initial support for '#pragma omp for'. | Alexey Bataev | 2014-06-17 | 1 | -106/+131 |
| | | | | | llvm-svn: 211096 | ||||
| * | [OPENMP] Initial support of 'reduction' clause | Alexey Bataev | 2014-06-16 | 1 | -0/+215 |
| llvm-svn: 211007 | |||||

