| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | [OPENMP] -fopenmp enables OpenMP support (fix for http://llvm.org/PR23492) | Alexey Bataev | 2015-05-20 | 1 | -1/+1 |
| | | | | | | | | -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 | ||||
| * | [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] Parsing and sema analysis for 'omp parallel sections' directive. | Alexey Bataev | 2014-07-08 | 1 | -0/+358 |
| llvm-svn: 212516 | |||||

