|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5 |
|
| #
69da3b6a |
| 25-May-2022 |
Aaron Ballman <[email protected]> |
Revert "[OpenMP] atomic compare fail : Parser & AST support"
This reverts commit 232bf8189ef7d574a468bd5bfd1e84e962f7f16e.
It broke the sanitize buildbot: https://lab.llvm.org/buildbot/#/builders/5
Revert "[OpenMP] atomic compare fail : Parser & AST support"
This reverts commit 232bf8189ef7d574a468bd5bfd1e84e962f7f16e.
It broke the sanitize buildbot: https://lab.llvm.org/buildbot/#/builders/5/builds/24074
It also reproduces on Windows debug builds as a crash.
show more ...
|
| #
232bf818 |
| 25-May-2022 |
Sunil Kuravinakop <[email protected]> |
[OpenMP] atomic compare fail : Parser & AST support
This is a support for " #pragma omp atomic compare fail ". It has Parser & AST support for now.
Reviewed By: tianshilei1992
Differential Revisio
[OpenMP] atomic compare fail : Parser & AST support
This is a support for " #pragma omp atomic compare fail ". It has Parser & AST support for now.
Reviewed By: tianshilei1992
Differential Revision: https://reviews.llvm.org/D123235
show more ...
|
|
Revision tags: llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2 |
|
| #
e2855e17 |
| 21-Feb-2022 |
Shilei Tian <[email protected]> |
[Clang][OpenMP] Add Sema support for atomic compare capture
This patch adds Sema support for `atomic compare capture`.
Reviewed By: ABataev
Differential Revision: https://reviews.llvm.org/D120200
|
| #
ccebf8ac |
| 18-Feb-2022 |
Shilei Tian <[email protected]> |
[Clang][OpenMP] Add support for compare capture in parser
This patch adds the support for `atomic compare capture` in parser and part of sema. We don't create an AST node for this because the spec d
[Clang][OpenMP] Add support for compare capture in parser
This patch adds the support for `atomic compare capture` in parser and part of sema. We don't create an AST node for this because the spec doesn't say `compare` and `capture` clauses should be used tightly, so we cannot look one more token ahead in the parser.
Reviewed By: ABataev
Differential Revision: https://reviews.llvm.org/D116261
show more ...
|
|
Revision tags: llvmorg-14.0.0-rc1 |
|
| #
b35be6fe |
| 04-Feb-2022 |
Shilei Tian <[email protected]> |
[Clang][Sema][OpenMP] Sema support for `atomic compare`
This patch adds the Sema support for `atomic compare`.
Reviewed By: ABataev
Differential Revision: https://reviews.llvm.org/D116637
|
|
Revision tags: llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2 |
|
| #
c7a589a2 |
| 24-Dec-2021 |
Shilei Tian <[email protected]> |
[Clang][OpenMP] Add the support for atomic compare in parser
This patch adds the support for `atomic compare` in parser. The support in Sema and CodeGen will come soon. For now, it simply eimits an
[Clang][OpenMP] Add the support for atomic compare in parser
This patch adds the support for `atomic compare` in parser. The support in Sema and CodeGen will come soon. For now, it simply eimits an error when it is encountered.
Reviewed By: ABataev
Differential Revision: https://reviews.llvm.org/D115561
show more ...
|
|
Revision tags: llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1 |
|
| #
dea31f13 |
| 15-Nov-2020 |
Aaron Puchert <[email protected]> |
Consistent spelling in diagnostics: {l,r}value instead of {l,r}-value
As Richard Smith pointed out in the review of D90123, both the C and C++ standard call it lvalue and rvalue, so let's stick to t
Consistent spelling in diagnostics: {l,r}value instead of {l,r}-value
As Richard Smith pointed out in the review of D90123, both the C and C++ standard call it lvalue and rvalue, so let's stick to the same spelling in Clang.
show more ...
|
|
Revision tags: llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3 |
|
| #
ff260ad0 |
| 27-Aug-2020 |
Saiyedul Islam <[email protected]> |
[OpenMP] Ensure testing for versions 4.5 and default - Part 3
This third patch in the series removes version 5.0 string from test cases making them check for default version. It also add test cases
[OpenMP] Ensure testing for versions 4.5 and default - Part 3
This third patch in the series removes version 5.0 string from test cases making them check for default version. It also add test cases for version 4.5.
Reviewed By: ABataev
Differential Revision: https://reviews.llvm.org/D85214
show more ...
|
|
Revision tags: llvmorg-11.0.0-rc2, llvmorg-11.0.0-rc1, llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3 |
|
| #
4a7aedb8 |
| 06-Jul-2020 |
Alexey Bataev <[email protected]> |
[OPENMP]Simplify representation for atomic, critical, master and section constrcut.
Several constructs may be represented wityout relying on CapturedStmt. It saves memory and improves compilation sp
[OPENMP]Simplify representation for atomic, critical, master and section constrcut.
Several constructs may be represented wityout relying on CapturedStmt. It saves memory and improves compilation speed.
show more ...
|
|
Revision tags: llvmorg-10.0.1-rc2, llvmorg-10.0.1-rc1, llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4, llvmorg-10.0.0-rc3, llvmorg-10.0.0-rc2 |
|
| #
9a8defcc |
| 11-Feb-2020 |
Alexey Bataev <[email protected]> |
[OPENMP50]Add support for relaxed clause in atomic directive.
Added full support for relaxed clause.
|
| #
9a3740c3 |
| 11-Feb-2020 |
Alexey Bataev <[email protected]> |
[OPENMP50]Add restrictions for memory order clauses in atomic directive.
Added restrictions for atomic directive. 1. If atomic-clause is read then memory-order-clause must not be acq_rel or release.
[OPENMP50]Add restrictions for memory order clauses in atomic directive.
Added restrictions for atomic directive. 1. If atomic-clause is read then memory-order-clause must not be acq_rel or release. 2. If atomic-clause is write then memory-order-clause must not be acq_rel or acquire. 3. If atomic-clause is update or not present then memory-order-clause must not be acq_rel or acquire.
show more ...
|
| #
9559834a |
| 10-Feb-2020 |
Alexey Bataev <[email protected]> |
[OPENMP50]Add support for 'release' clause.
Added full support for 'release' clause in flush|atomic directives.
|
| #
04a830f8 |
| 10-Feb-2020 |
Alexey Bataev <[email protected]> |
[OPENMP50]Support for acquire clause.
Added full support for acquire clause in flush|atomic directives.
|
| #
ea9166b5 |
| 06-Feb-2020 |
Alexey Bataev <[email protected]> |
[OPENMP50]Add parsing/sema for acq_rel clause.
Added basic support (representation + parsing/sema/(de)serialization) for acq_rel clause in flush/atomic directives.
|
|
Revision tags: llvmorg-10.0.0-rc1, llvmorg-11-init, llvmorg-9.0.1, llvmorg-9.0.1-rc3, llvmorg-9.0.1-rc2, llvmorg-9.0.1-rc1, llvmorg-9.0.0, llvmorg-9.0.0-rc6, llvmorg-9.0.0-rc5, llvmorg-9.0.0-rc4, llvmorg-9.0.0-rc3, llvmorg-9.0.0-rc2, llvmorg-9.0.0-rc1, llvmorg-10-init, llvmorg-8.0.1, llvmorg-8.0.1-rc4 |
|
| #
a914888b |
| 08-Jul-2019 |
Alexey Bataev <[email protected]> |
[OPENMP]Add -Wunintialized to the erroneous tests for future fix PR42392, NFC.
llvm-svn: 365334
|
|
Revision tags: llvmorg-8.0.1-rc3, llvmorg-8.0.1-rc2, llvmorg-8.0.1-rc1, llvmorg-8.0.0, llvmorg-8.0.0-rc5, llvmorg-8.0.0-rc4, llvmorg-8.0.0-rc3, llvmorg-7.1.0, llvmorg-7.1.0-rc1, llvmorg-8.0.0-rc2, llvmorg-8.0.0-rc1, llvmorg-7.0.1, llvmorg-7.0.1-rc3, llvmorg-7.0.1-rc2, llvmorg-7.0.1-rc1, llvmorg-7.0.0, llvmorg-7.0.0-rc3, llvmorg-7.0.0-rc2, llvmorg-7.0.0-rc1, llvmorg-6.0.1, llvmorg-6.0.1-rc3, llvmorg-6.0.1-rc2, llvmorg-6.0.1-rc1, llvmorg-5.0.2, llvmorg-5.0.2-rc2, llvmorg-5.0.2-rc1, llvmorg-6.0.0, llvmorg-6.0.0-rc3, llvmorg-6.0.0-rc2, llvmorg-6.0.0-rc1 |
|
| #
a8a9153a |
| 29-Dec-2017 |
Alexey Bataev <[email protected]> |
[OPENMP] Support for -fopenmp-simd option with compilation of simd loops only.
Added support for -fopenmp-simd option that allows compilation of simd-based constructs without emission of OpenMP runt
[OPENMP] Support for -fopenmp-simd option with compilation of simd loops only.
Added support for -fopenmp-simd option that allows compilation of simd-based constructs without emission of OpenMP runtime calls.
llvm-svn: 321560
show more ...
|
|
Revision tags: llvmorg-5.0.1, llvmorg-5.0.1-rc3, llvmorg-5.0.1-rc2, llvmorg-5.0.1-rc1, llvmorg-5.0.0, llvmorg-5.0.0-rc5, llvmorg-5.0.0-rc4, llvmorg-5.0.0-rc3, llvmorg-5.0.0-rc2, llvmorg-5.0.0-rc1, llvmorg-4.0.1, llvmorg-4.0.1-rc3, llvmorg-4.0.1-rc2, llvmorg-4.0.1-rc1, llvmorg-4.0.0, llvmorg-4.0.0-rc4, llvmorg-4.0.0-rc3, llvmorg-4.0.0-rc2, llvmorg-4.0.0-rc1, llvmorg-3.9.1, llvmorg-3.9.1-rc3, llvmorg-3.9.1-rc2, llvmorg-3.9.1-rc1, llvmorg-3.9.0, llvmorg-3.9.0-rc3, llvmorg-3.9.0-rc2, llvmorg-3.9.0-rc1 |
|
| #
4f161cf1 |
| 20-Jul-2016 |
Kelvin Li <[email protected]> |
[OpenMP] Ignore parens in atomic capture
Clang misdiagnoses atomic captures cases that contains parens. i.e.
int v, int *p; #pragma omp atomic capture { v = (*p); (*p)++; }
Patch by David S.
Di
[OpenMP] Ignore parens in atomic capture
Clang misdiagnoses atomic captures cases that contains parens. i.e.
int v, int *p; #pragma omp atomic capture { v = (*p); (*p)++; }
Patch by David S.
Differential Revision: https://reviews.llvm.org/D22487
llvm-svn: 276167
show more ...
|
|
Revision tags: llvmorg-3.8.1, llvmorg-3.8.1-rc1, llvmorg-3.8.0, llvmorg-3.8.0-rc3, llvmorg-3.8.0-rc2, llvmorg-3.8.0-rc1, llvmorg-3.7.1, llvmorg-3.7.1-rc2, llvmorg-3.7.1-rc1 |
|
| #
5a195478 |
| 04-Sep-2015 |
Alexey Bataev <[email protected]> |
[OPENMP] Fix false diagnostic on instantiation-dependent exprs for atomic constructs. Some of instantiation-dependent expressions could cause false diagnostic to be emitted about unsupported atomic c
[OPENMP] Fix false diagnostic on instantiation-dependent exprs for atomic constructs. Some of instantiation-dependent expressions could cause false diagnostic to be emitted about unsupported atomic constructs. Relaxed rules for detection of incorrect expressions.
llvm-svn: 246853
show more ...
|
|
Revision tags: llvmorg-3.7.0, llvmorg-3.7.0-rc4, llvmorg-3.7.0-rc3, llvmorg-3.7.0-rc2, llvmorg-3.7.0-rc1, llvmorg-3.6.2, llvmorg-3.6.2-rc1 |
|
| #
db39021c |
| 20-May-2015 |
Alexey Bataev <[email protected]> |
[OPENMP] -fopenmp enables OpenMP support (fix for http://llvm.org/PR23492)
-fopenmp turns on OpenMP support and links libiomp5 as OpenMP library. Also there is -fopenmp={libiomp5|libgomp} option tha
[OPENMP] -fopenmp enables OpenMP support (fix for http://llvm.org/PR23492)
-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
show more ...
|
|
Revision tags: llvmorg-3.6.1, llvmorg-3.6.1-rc1 |
|
| #
5e018f9e |
| 23-Apr-2015 |
Alexey Bataev <[email protected]> |
[OPENMP] Codegen for 'atomic capture'.
Adds codegen for 'atomic capture' constructs with the following forms of expressions/statements:
v = x binop= expr; v = x++; v = ++x; v = x--; v = --x; v = x
[OPENMP] Codegen for 'atomic capture'.
Adds codegen for 'atomic capture' constructs with the following forms of expressions/statements:
v = x binop= expr; v = x++; v = ++x; v = x--; v = --x; v = x = x binop expr; v = x = expr binop x; {v = x; x = binop= expr;} {v = x; x++;} {v = x; ++x;} {v = x; x--;} {v = x; --x;} {x = x binop expr; v = x;} {x binop= expr; v = x;} {x++; v = x;} {++x; v = x;} {x--; v = x;} {--x; v = x;} {x = x binop expr; v = x;} {x = expr binop x; v = x;} {v = x; x = expr;} If x and expr are integer and binop is associative or x is a LHS in a RHS of the assignment expression, and atomics are allowed for type of x on the target platform atomicrmw instruction is emitted. Otherwise compare-and-swap sequence is emitted. Update of 'v' is not required to be be atomic with respect to the read or write of the 'x'.
bb: ... atomic load <x> cont: <expected> = phi [ <x>, label %bb ], [ <new_failed>, %cont ] <desired> = <expected> binop <expr> <res> = cmpxchg atomic &<x>, desired, expected <new_failed> = <res>.field1; br <res>field2, label %exit, label %cont exit: atomic store <old/new x>, <v> ... Differential Revision: http://reviews.llvm.org/D9049
llvm-svn: 235573
show more ...
|
| #
b78ca83d |
| 01-Apr-2015 |
Alexey Bataev <[email protected]> |
[OPENMP] Sema analysis for 'atomic capture' construct.
Added sema checks for forms of expressions/statements allowed under control of 'atomic capture' directive + generation of helper objects for fu
[OPENMP] Sema analysis for 'atomic capture' construct.
Added sema checks for forms of expressions/statements allowed under control of 'atomic capture' directive + generation of helper objects for future codegen.
llvm-svn: 233785
show more ...
|
|
Revision tags: llvmorg-3.5.2, llvmorg-3.5.2-rc1 |
|
| #
1d160b19 |
| 13-Mar-2015 |
Alexey Bataev <[email protected]> |
[OPENMP] Additional sema analysis for 'omp atomic[ update]'. Adds additional semantic analysis + generation of helper expressions for proper codegen.
llvm-svn: 232164
|
|
Revision tags: llvmorg-3.6.0, llvmorg-3.6.0-rc4, llvmorg-3.6.0-rc3, llvmorg-3.6.0-rc2, llvmorg-3.6.0-rc1, llvmorg-3.5.1, llvmorg-3.5.1-rc2, llvmorg-3.5.1-rc1 |
|
| #
f33eba65 |
| 28-Nov-2014 |
Alexey Bataev <[email protected]> |
[OPENMP] Additional processing of 'omp atomic write' directive. According to OpenMP standard, Section 2.12.6, atomic Construct, '#pragma omp atomic write' is allowed to be used only for expression st
[OPENMP] Additional processing of 'omp atomic write' directive. According to OpenMP standard, Section 2.12.6, atomic Construct, '#pragma omp atomic write' is allowed to be used only for expression statements of form 'x = expr;', where x is a lvalue expression and expr is an expression with scalar type. Patch adds checks for it.
llvm-svn: 222913
show more ...
|
| #
62cec44c |
| 18-Nov-2014 |
Alexey Bataev <[email protected]> |
[OPENMP] Additional processing of 'omp atomic read' directive. According to OpenMP standard, Section 2.12.6, atomic Construct, '#pragma omp atomic read' is allowed to be used only for expression stat
[OPENMP] Additional processing of 'omp atomic read' directive. According to OpenMP standard, Section 2.12.6, atomic Construct, '#pragma omp atomic read' is allowed to be used only for expression statements of form 'v = x;', where x and v (as applicable) are both l-value expressions with scalar type. Patch adds checks for it.
llvm-svn: 222231
show more ...
|
|
Revision tags: llvmorg-3.5.0, llvmorg-3.5.0-rc4, llvmorg-3.5.0-rc3, llvmorg-3.5.0-rc2 |
|
| #
82bad8b0 |
| 24-Jul-2014 |
Alexey Bataev <[email protected]> |
[OPENMP] Initial parsing and sema analysis for clause 'seq_cst' of 'atomic' directive.
llvm-svn: 213846
|