Revision tags: 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, working, 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, 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, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2, 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 |
|
#
ca98c15f |
| 02-Feb-2021 |
Mike Rice <michael.p.rice@intel.com> |
[OpenMP] Fix iterations calculation for dependent counters.
The number of iterations calculation was failing in some cases with more than two collpased loops. Now the LoopIterationSpace selected mat
[OpenMP] Fix iterations calculation for dependent counters.
The number of iterations calculation was failing in some cases with more than two collpased loops. Now the LoopIterationSpace selected matches InitDependOnLC and CondDependOnLC.
Differential Revision: https://reviews.llvm.org/D95834
show more ...
|
Revision tags: 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, 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 <Saiyedul.Islam@amd.com> |
[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, llvmorg-10.0.1-rc2 |
|
#
2bfce22a |
| 25-Jun-2020 |
Saiyedul Islam <Saiyedul.Islam@amd.com> |
[OpenMP] Upgrade default version of OpenMP to 5.0
Summary: When -fopenmp option is specified then version 5.0 will be set as default.
Reviewers: gregrodgers, jdoerfert, ABataev
Reviewed By: ABatae
[OpenMP] Upgrade default version of OpenMP to 5.0
Summary: When -fopenmp option is specified then version 5.0 will be set as default.
Reviewers: gregrodgers, jdoerfert, ABataev
Reviewed By: ABataev
Subscribers: pdhaliwal, yaxunl, guansong, sstefan1, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D81098
show more ...
|
#
6c906f77 |
| 26-May-2020 |
John Brawn <john.brawn@arm.com> |
[Sema] Diagnose more cases of static data members in local or unnamed classes
We currently diagnose static data members directly contained in unnamed classes, but we should also diagnose when they'r
[Sema] Diagnose more cases of static data members in local or unnamed classes
We currently diagnose static data members directly contained in unnamed classes, but we should also diagnose when they're in a class that is nested (directly or indirectly) in an unnamed class. Do this by iterating up the list of parent DeclContexts and checking if any is an unnamed class.
Similarly also check for function or method DeclContexts (which includes things like blocks and openmp captured statements) as then the class is considered to be a local class, which means static data members aren't allowed.
Differential Revision: https://reviews.llvm.org/D80295
show more ...
|
Revision tags: 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, 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 |
|
#
bef93a98 |
| 07-Oct-2019 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP50]Treat range-based for as canonical loop.
According to OpenMP 5.0, range-based for is also considered as a canonical form of loops.
llvm-svn: 373939
|
Revision tags: llvmorg-9.0.0, llvmorg-9.0.0-rc6, llvmorg-9.0.0-rc5 |
|
#
1be63404 |
| 11-Sep-2019 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP] Update the diagnosis message for canonical loop form, by Chi Chun Chen.
The previous patch (https://reviews.llvm.org/D54441) support the relational-op != very well for openmp canonical loop
[OPENMP] Update the diagnosis message for canonical loop form, by Chi Chun Chen.
The previous patch (https://reviews.llvm.org/D54441) support the relational-op != very well for openmp canonical loop form, however, it didn't update the diagnosis message. So this patch is simply update the diagnosis message by adding !=, update the test related to it, and update the section number for canonical loop form for OpenMP 5.0 in comment.
Differential Revision: https://reviews.llvm.org/D66559
llvm-svn: 371631
show more ...
|
Revision tags: llvmorg-9.0.0-rc4, llvmorg-9.0.0-rc3 |
|
#
f8be476f |
| 14-Aug-2019 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP]Support for non-rectangular loops.
Added basic support for non-rectangular loops. It requires an additional analysis of min/max boundaries for non-rectangular loops. Since only linear depend
[OPENMP]Support for non-rectangular loops.
Added basic support for non-rectangular loops. It requires an additional analysis of min/max boundaries for non-rectangular loops. Since only linear dependency is allowed, we can do this analysis.
llvm-svn: 368903
show more ...
|
Revision tags: llvmorg-9.0.0-rc2, llvmorg-9.0.0-rc1, llvmorg-10-init |
|
#
552c2c09 |
| 17-Jul-2019 |
Mike Rice <michael.p.rice@intel.com> |
[OPENMP]Fix crash in LoopCounterRefChecker when MemberExpr is not Var or Field
checkDecl is only valid for VarDecls or FieldDecls, since getCanonicalDecl expects only these. Prevent other Decl kinds
[OPENMP]Fix crash in LoopCounterRefChecker when MemberExpr is not Var or Field
checkDecl is only valid for VarDecls or FieldDecls, since getCanonicalDecl expects only these. Prevent other Decl kinds (such as CXXMethodDecls and EnumConstantDecls) from entering and asserting.
Differential Revision: https://reviews.llvm.org/D64842
llvm-svn: 366336
show more ...
|
Revision tags: 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 |
|
#
5ddc6d18 |
| 26-Apr-2019 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP]Added check for non-random access types for the dependent loop counters.
According to the OpenMP 5.0, For any associated loop where the b or lb expression is not loop invariant with respect
[OPENMP]Added check for non-random access types for the dependent loop counters.
According to the OpenMP 5.0, For any associated loop where the b or lb expression is not loop invariant with respect to the outermost loop, the var-outer that appears in the expression may not have a random access iterator type.
llvm-svn: 359340
show more ...
|
#
2f9ef332 |
| 25-Apr-2019 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP] Improved check for the linear dependency in the non-rectangular loop nests.
Added a checks that the initializer/condition expressions depend only only of the single previous loop iteration
[OPENMP] Improved check for the linear dependency in the non-rectangular loop nests.
Added a checks that the initializer/condition expressions depend only only of the single previous loop iteration variable.
llvm-svn: 359200
show more ...
|
#
622af1d2 |
| 24-Apr-2019 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP]Initial support for non-rectangular loop nest.
Added basic semantic analysis for the non-rectangular loop nests for OpenMP 5.0 support.
llvm-svn: 359132
|
Revision tags: 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 |
|
#
efbe4afb |
| 21-Nov-2018 |
Kelvin Li <kkwli0@gmail.com> |
[OPENMP] Support relational-op != (not-equal) as one of the canonical forms of random access iterator In OpenMP 4.5, only 4 relational operators are supported: <, <=, >, and >=. This work is
[OPENMP] Support relational-op != (not-equal) as one of the canonical forms of random access iterator In OpenMP 4.5, only 4 relational operators are supported: <, <=, >, and >=. This work is to enable support for relational operator != (not-equal) as one of the canonical forms.
Patch by Anh Tuyen Tran Differential Revision: https://reviews.llvm.org/D54441
llvm-svn: 347405
show more ...
|
Revision tags: 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 <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, llvmorg-5.0.1-rc2, llvmorg-5.0.1-rc1, llvmorg-5.0.0, llvmorg-5.0.0-rc5 |
|
#
5372fb8c |
| 31-Aug-2017 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP] Fix for PR34398: assert with random access iterator if the step>1.
If the loop is a loot with random access iterators and the iteration construct is represented it += n, then the compiler c
[OPENMP] Fix for PR34398: assert with random access iterator if the step>1.
If the loop is a loot with random access iterators and the iteration construct is represented it += n, then the compiler crashed because of reusing of the same MaterializedTemporaryExpr around N. Patch fixes it by using the expression as written, without any special kind of wrappings.
llvm-svn: 312292
show more ...
|
Revision tags: 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, llvmorg-3.8.1, llvmorg-3.8.1-rc1 |
|
#
5a3af13d |
| 29-Mar-2016 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP] Remove extra code transformation.
For better support of some specific GNU extensions some extra transformation of AST nodes were introduced. These transformations are very hard to handle. T
[OPENMP] Remove extra code transformation.
For better support of some specific GNU extensions some extra transformation of AST nodes were introduced. These transformations are very hard to handle. The code is improved in handling of these extensions by using captured expressions construct.
llvm-svn: 264709
show more ...
|
Revision tags: llvmorg-3.8.0, llvmorg-3.8.0-rc3 |
|
#
c0214e0e |
| 16-Feb-2016 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP] Allow to use compound assignment operators. Loop-based directives allow to use iterators as loop counters. Iterators are allowed to define their own operators. This patch allows to use compo
[OPENMP] Allow to use compound assignment operators. Loop-based directives allow to use iterators as loop counters. Iterators are allowed to define their own operators. This patch allows to use compound assignment operators for iterators.
llvm-svn: 260957
show more ...
|
Revision tags: llvmorg-3.8.0-rc2, llvmorg-3.8.0-rc1 |
|
#
e648e80f |
| 25-Dec-2015 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP] Do not allow to use threadprivate or thread local variables as loop iteration variables. According to OpenMP the loop iteration variable may not appear in a threadprivate directive.
llvm-sv
[OPENMP] Do not allow to use threadprivate or thread local variables as loop iteration variables. According to OpenMP the loop iteration variable may not appear in a threadprivate directive.
llvm-svn: 256417
show more ...
|
Revision tags: llvmorg-3.7.1, llvmorg-3.7.1-rc2 |
|
#
8c26ea66 |
| 18-Nov-2015 |
Akira Hatanaka <ahatanaka@apple.com> |
Produce a better diagnostic for global register variables.
Currently, when there is a global register variable in a program that is bound to an invalid register, clang/llvm prints an error message t
Produce a better diagnostic for global register variables.
Currently, when there is a global register variable in a program that is bound to an invalid register, clang/llvm prints an error message that is not very user-friendly.
This commit improves the diagnostic and moves the check that used to be in the backend to Sema. In addition, it makes changes to error out if the size of the register doesn't match the declared variable size.
e.g., volatile register int B asm ("rbp");
rdar://problem/23084219
Differential Revision: http://reviews.llvm.org/D13834
llvm-svn: 253405
show more ...
|
Revision tags: llvmorg-3.7.1-rc1, llvmorg-3.7.0, llvmorg-3.7.0-rc4, llvmorg-3.7.0-rc3 |
|
#
b08f89ff |
| 14-Aug-2015 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP] Fix for http://llvm.org/PR24371: Assert failure compiling blender 2.75. blender uses statements expression in condition of the loop under control of the '#pragma omp parallel for'. This cond
[OPENMP] Fix for http://llvm.org/PR24371: Assert failure compiling blender 2.75. blender uses statements expression in condition of the loop under control of the '#pragma omp parallel for'. This condition is used several times in different expressions required for codegen of the loop directive. If there are some variables defined in statement expression, it fires an assert during codegen because of redefinition of the same variables. We have to rebuild several expression to be sure that all variables are unique.
llvm-svn: 245041
show more ...
|
Revision tags: studio-1.4 |
|
#
a8899174 |
| 06-Aug-2015 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP 4.1] Allow references in init expression for loop-based constructs.
OpenMP 4.1 allows to use variables with reference types in private clauses and, therefore, in init expressions of the cann
[OPENMP 4.1] Allow references in init expression for loop-based constructs.
OpenMP 4.1 allows to use variables with reference types in private clauses and, therefore, in init expressions of the cannonical loop forms.
llvm-svn: 244209
show more ...
|
#
54acd405 |
| 04-Aug-2015 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP 4.1] Support for 'linear' clause in loop directives.
OpenMP 4.1 allows 'linear' clause in loop directives. Patch adds support for it.
llvm-svn: 243969
|
Revision tags: llvmorg-3.7.0-rc2, llvmorg-3.7.0-rc1 |
|
#
0d08a7ff |
| 16-Jul-2015 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP] Fixed detection of canonical loops with random access iterators.
Add handling of iterators with copy/move constructors with default arguments + converting template constructors.
llvm-svn:
[OPENMP] Fixed detection of canonical loops with random access iterators.
Add handling of iterators with copy/move constructors with default arguments + converting template constructors.
llvm-svn: 242382
show more ...
|
Revision tags: llvmorg-3.6.2, llvmorg-3.6.2-rc1 |
|
#
db39021c |
| 20-May-2015 |
Alexey Bataev <a.bataev@hotmail.com> |
[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 |
|
#
0c024df9 |
| 12-May-2015 |
Alexey Bataev <a.bataev@hotmail.com> |
[OPENMP] Allow using of threadprivate variables as loop-control variables in lop based directives.
llvm-svn: 237102
|