Revision tags: llvmorg-9.0.1, llvmorg-9.0.1-rc3 |
|
#
543ffb4a |
| 06-Dec-2019 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP]Reorganize OpenMP warning groups.
openmp-mapping group is a subgroup of openmp-target warning group. Also, added global openmp group to control all other OpenMP warning groups.
|
#
4db4868d |
| 06-Dec-2019 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP]Moved warning fo mapping non-trivially copiable types into a separate group.
Need to move this warning into a separate group to make easier to disable this warning, if required.
|
Revision tags: 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 |
|
#
94a170f8 |
| 28-Aug-2019 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP][Analysis] Add analysis of the map clauses.
Summary: Added basic analysis of map clauses. Only map clauses with to and tofrom map type must be analyzed since all other map types (alloc, dele
[OPENMP][Analysis] Add analysis of the map clauses.
Summary: Added basic analysis of map clauses. Only map clauses with to and tofrom map type must be analyzed since all other map types (alloc, delete, etc.) do not require to use the value of the initial variable, instead they create the new copy of the variable.
Reviewers: NoQ
Subscribers: guansong, cfe-commits, kkwli0, caomhin
Tags: #clang
Differential Revision: https://reviews.llvm.org/D66668
llvm-svn: 370214
show more ...
|
Revision tags: 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 <a.bataev@hotmail.com> |
[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 |
|
#
3234887f |
| 23-Apr-2019 |
Joel E. Denny <jdenny.ornl@gmail.com> |
[APSInt][OpenMP] Fix isNegative, etc. for unsigned types
Without this patch, APSInt inherits APInt::isNegative, which merely checks the sign bit without regard to whether the type is actually signed
[APSInt][OpenMP] Fix isNegative, etc. for unsigned types
Without this patch, APSInt inherits APInt::isNegative, which merely checks the sign bit without regard to whether the type is actually signed. isNonNegative and isStrictlyPositive call isNegative and so are also affected.
This patch adjusts APSInt to override isNegative, isNonNegative, and isStrictlyPositive with implementations that consider whether the type is signed.
A large set of Clang OpenMP tests are affected. Without this patch, these tests assume that `true` is not a valid argument for clauses like `collapse`. Indeed, `true` fails APInt::isStrictlyPositive but not APSInt::isStrictlyPositive. This patch adjusts those tests to assume `true` should be accepted.
This patch also adds tests revealing various other similar fixes due to APSInt::isNegative calls in Clang's ExprConstant.cpp and SemaExpr.cpp: `++` and `--` overflow in `constexpr`, evaluated object size based on `alloc_size`, `<<` and `>>` shift count validation, and OpenMP array section validation.
Reviewed By: lebedev.ri, ABataev, hfinkel
Differential Revision: https://reviews.llvm.org/D59712
llvm-svn: 359012
show more ...
|
Revision tags: llvmorg-8.0.0, llvmorg-8.0.0-rc5, llvmorg-8.0.0-rc4, llvmorg-8.0.0-rc3 |
|
#
4304e9d1 |
| 19-Feb-2019 |
Michael Kruse <llvm@meinersbur.de> |
[OpenMP 5.0] Parsing/sema support for map clause with mapper modifier.
This patch implements the parsing and sema support for OpenMP map clauses with potential user-defined mapper attached. User def
[OpenMP 5.0] Parsing/sema support for map clause with mapper modifier.
This patch implements the parsing and sema support for OpenMP map clauses with potential user-defined mapper attached. User defined mapper is a new feature in OpenMP 5.0. A map clause can have an explicit or implicit associated mapper, which instructs the compiler to generate extra data mapping. An example is shown below:
struct S { int len; int *d; }; #pragma omp declare mapper(id: struct S s) map(s, s.d[0:s.len]) struct S ss; #pragma omp target map(mapper(id) tofrom: ss) // use the mapper with name 'id' to map ss
Contributed-by: Lingda Li <lildmh@gmail.com>
Differential Revision: https://reviews.llvm.org/D58074
llvm-svn: 354347
show more ...
|
Revision tags: llvmorg-7.1.0, llvmorg-7.1.0-rc1, llvmorg-8.0.0-rc2, llvmorg-8.0.0-rc1 |
|
#
ef57943e |
| 18-Dec-2018 |
Kelvin Li <kkwli0@gmail.com> |
[OPENMP] parsing and sema support for 'close' map-type-modifier
A map clause with the close map-type-modifier is a hint to prefer that the variables are mapped using a copy into faster memory.
Pa
[OPENMP] parsing and sema support for 'close' map-type-modifier
A map clause with the close map-type-modifier is a hint to prefer that the variables are mapped using a copy into faster memory.
Patch by Ahsan Saghir (saghir)
Differential Revision: https://reviews.llvm.org/D55719
llvm-svn: 349551
show more ...
|
Revision tags: llvmorg-7.0.1, llvmorg-7.0.1-rc3, llvmorg-7.0.1-rc2, llvmorg-7.0.1-rc1 |
|
#
e82445f5 |
| 20-Sep-2018 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP] Add support for mapping memory pointed by member pointer.
Added support for map(s, s.ptr[0:1]) kind of mapping.
llvm-svn: 342648
|
Revision tags: 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 |
|
#
354df2ee |
| 02-May-2018 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP] Analyze the type of the mapped entity instead of its base.
If the mapped entity is a data member, we erroneously checked the type of its base rather than the type of the mapped entity itsel
[OPENMP] Analyze the type of the mapped entity instead of its base.
If the mapped entity is a data member, we erroneously checked the type of its base rather than the type of the mapped entity itself.
llvm-svn: 331385
show more ...
|
Revision tags: llvmorg-6.0.1-rc1, llvmorg-5.0.2, llvmorg-5.0.2-rc2, llvmorg-5.0.2-rc1, llvmorg-6.0.0 |
|
#
95c23e72 |
| 27-Feb-2018 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP] Emit warning for non-trivial types in map clauses.
If the mapped type is non-trivial, the warning message is emitted for better user experience.
llvm-svn: 326251
|
#
2819260b |
| 27-Feb-2018 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP] Allow multiple mappings for member expressions for pointers.
If several member expressions are mapped and they reference the same address as a base, but access different members, this must
[OPENMP] Allow multiple mappings for member expressions for pointers.
If several member expressions are mapped and they reference the same address as a base, but access different members, this must be allowed.
llvm-svn: 326212
show more ...
|
Revision tags: llvmorg-6.0.0-rc3, llvmorg-6.0.0-rc2, llvmorg-6.0.0-rc1 |
|
#
a8a9153a |
| 29-Dec-2017 |
Alexey Bataev <a.bataev@hotmail.com> |
[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 |
|
#
b7304a15 |
| 06-Dec-2017 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP] Improve error message for mapping union members.
llvm-svn: 319897
|
#
b7a9b746 |
| 05-Dec-2017 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP] Fix implicit mapping analysis.
Fixed processing of implicitly mapped objects in target-based executable directives.
llvm-svn: 319814
|
#
27041fab |
| 05-Dec-2017 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP] Fix assert fail after target implicit map checks.
If the error is generated during analysis of implicitly or explicitly mapped variables, it may cause compiler crash because of incorrect an
[OPENMP] Fix assert fail after target implicit map checks.
If the error is generated during analysis of implicitly or explicitly mapped variables, it may cause compiler crash because of incorrect analysis.
llvm-svn: 319774
show more ...
|
Revision tags: llvmorg-5.0.1-rc2, llvmorg-5.0.1-rc1 |
|
#
5ec3893b |
| 26-Sep-2017 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP] Fix handling of implicit mapping of array sections.
llvm-svn: 314220
|
#
f47c4b41 |
| 26-Sep-2017 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP] Generate implicit map|firstprivate clauses for target-based directives.
If the variable is used in the target-based region but is not found in any private|mapping clause, then generate impl
[OPENMP] Generate implicit map|firstprivate clauses for target-based directives.
If the variable is used in the target-based region but is not found in any private|mapping clause, then generate implicit firstprivate|map clauses for these implicitly mapped variables.
llvm-svn: 314205
show more ...
|
#
ed94bd92 |
| 13-Sep-2017 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP] Allow all classes as mappable types.
According to upcoming OpenMP 5.0 all classes/structs are now considered as mappable, even polymorphic and with static members.
llvm-svn: 313141
|
Revision tags: 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 |
|
#
95b64a98 |
| 30-May-2017 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP] Allow 'use_device_ptr' clause in 'target data' alone.
According to OpenMP 5.0 at least one 'map' or 'use_device_ptr' clause must be specified for 'target data' construct. Patch adds support
[OPENMP] Allow 'use_device_ptr' clause in 'target data' alone.
According to OpenMP 5.0 at least one 'map' or 'use_device_ptr' clause must be specified for 'target data' construct. Patch adds support for this feature.
llvm-svn: 304216
show more ...
|
#
d8844b9d |
| 03-May-2017 |
Carlo Bertolli <cbertol@us.ibm.com> |
[OpenMP] Extended parse for 'always' map modifier
https://reviews.llvm.org/D32807
This patch allows the map modifier 'always' to be separated by the map type (to, from, tofrom) only by a whitespace
[OpenMP] Extended parse for 'always' map modifier
https://reviews.llvm.org/D32807
This patch allows the map modifier 'always' to be separated by the map type (to, from, tofrom) only by a whitespace, rather than strictly by a comma as in current trunk.
llvm-svn: 302031
show more ...
|
Revision tags: 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 |
|
#
d03c85c0 |
| 06-Oct-2016 |
David Sheinkman <davidsheinkman@outlook.com> |
[OpenMP] Check if the template specialization is mappable instead of specialized template Differential Revision: https://reviews.llvm.org/D25252
llvm-svn: 283460
|
Revision tags: llvmorg-3.9.0, llvmorg-3.9.0-rc3, llvmorg-3.9.0-rc2, llvmorg-3.9.0-rc1 |
|
#
ad9ecbab |
| 20-Jul-2016 |
Kelvin Li <kkwli0@gmail.com> |
[OpenMP] Allow negative lower bound in array sections based on pointers
OpenMP 4.5 removed the restriction that array section lower bound must be non negative. This change is to allow negative value
[OpenMP] Allow negative lower bound in array sections based on pointers
OpenMP 4.5 removed the restriction that array section lower bound must be non negative. This change is to allow negative values for array section based on pointers. For array section based on array type there is still a restriction: "The array section must be a subset of the original array."
Patch by David S.
Differential Revision: https://reviews.llvm.org/D22481
llvm-svn: 276177
show more ...
|
#
9f645ae6 |
| 18-Jul-2016 |
Kelvin Li <kkwli0@gmail.com> |
[OpenMP] Fix incorrect diagnostics in map clause
Having the following code pattern will result in incorrect diagnostic
int main() { int arr[10]; #pragma omp target data map(arr[:]) #pragma omp ta
[OpenMP] Fix incorrect diagnostics in map clause
Having the following code pattern will result in incorrect diagnostic
int main() { int arr[10]; #pragma omp target data map(arr[:]) #pragma omp target map(arr) {} }
t.cpp:4:24: error: original storage of expression in data environment is shared but data environment do not fully contain mapped expression storage #pragma omp target map(arr) ^~~ t.cpp:3:29: note: used here #pragma omp target data map(arr[:]) ^~~~~~ 1 error generated.
Patch by David S.
Differential Revision: https://reviews.llvm.org/D22075
llvm-svn: 275926
show more ...
|
Revision tags: llvmorg-3.8.1, llvmorg-3.8.1-rc1 |
|
#
661c0904 |
| 26-May-2016 |
Samuel Antao <sfantao@us.ibm.com> |
[OpenMP] Parsing and sema support for the to clause
Summary: The patch contains the parsing and sema support for the `to` clause.
Patch based on the original post by Kelvin Li.
Reviewers: carlo.b
[OpenMP] Parsing and sema support for the to clause
Summary: The patch contains the parsing and sema support for the `to` clause.
Patch based on the original post by Kelvin Li.
Reviewers: carlo.bertolli, hfinkel, kkwli0, arpith-jacob, ABataev
Subscribers: caomhin, cfe-commits
Differential Revision: http://reviews.llvm.org/D18597
llvm-svn: 270880
show more ...
|
#
c5970623 |
| 01-Apr-2016 |
Alexey Bataev <a.bataev@hotmail.com> |
Revert "[OPENMP] Allow skip expression after comma in clauses with lists."
This reverts commit http://reviews.llvm.org/rL265003. After some thoughts decided to emit errors here.
llvm-svn: 265119
|