#
4d0aad96 |
| 04-Jan-2021 |
Valentin Clement <clementval@gmail.com> |
[flang][openmp] Make Reduction clause part of OmpClause
After discussion in D93105 we found that the reduction clause was not following the common OmpClause convention. This patch makes reduction cl
[flang][openmp] Make Reduction clause part of OmpClause
After discussion in D93105 we found that the reduction clause was not following the common OmpClause convention. This patch makes reduction clause part of OmpClause with a value of OmpReductionClause in a similar way than task_reduction. The unparse function for OmpReductionClause is adapted since the keyword and parenthesis are issued by the corresponding unparse function for parser::OmpClause::Reduction.
Reviewed By: sameeranjoshi
Differential Revision: https://reviews.llvm.org/D93482
show more ...
|
#
6280bc1c |
| 04-Jan-2021 |
sameeran joshi <sameeranjayant.joshi@amd.com> |
[Flang][openmp][5.0] Add task_reduction clause.
See OMP-5.0 2.19.5.5 task_reduction Clause. To add a positive test case we need `taskgroup` directive which is not added hence skipping the test. This
[Flang][openmp][5.0] Add task_reduction clause.
See OMP-5.0 2.19.5.5 task_reduction Clause. To add a positive test case we need `taskgroup` directive which is not added hence skipping the test. This is a dependency for `taskgroup` construct.
Reviewed By: clementval
Differential Revision: https://reviews.llvm.org/D93105
Co-authored-by: Valentin Clement <clementval@gmail.com>
show more ...
|
#
1aa10ab2 |
| 22-Dec-2020 |
sameeran joshi <sameeranjayant.joshi@amd.com> |
Revert "[Flang][openmp][5.0] Add task_reduction clause."
This reverts commit 9a7895dc20852b662a66976d06871ec2a0b968c8. Reverting due to missing Co-author attribution.
https://reviews.llvm.org/D93105
|
#
9a7895dc |
| 22-Dec-2020 |
sameeran joshi <sameeranjayant.joshi@amd.com> |
[Flang][openmp][5.0] Add task_reduction clause.
See OMP-5.0 2.19.5.5 task_reduction Clause. To add a positive test case we need `taskgroup` directive which is not added hence skipping the test. This
[Flang][openmp][5.0] Add task_reduction clause.
See OMP-5.0 2.19.5.5 task_reduction Clause. To add a positive test case we need `taskgroup` directive which is not added hence skipping the test. This is a dependency for `taskgroup` construct.
Reviewed By: clementval
Differential Revision: https://reviews.llvm.org/D93105
show more ...
|
#
1a6f4399 |
| 21-Dec-2020 |
sameeran joshi <sameeranjayant.joshi@amd.com> |
[Flang][openmp][5/5] Make dist_schedule clause part of OmpClause
After discussion in `D93482` we found that the some of the clauses were not following the common OmpClause convention.
The benefits
[Flang][openmp][5/5] Make dist_schedule clause part of OmpClause
After discussion in `D93482` we found that the some of the clauses were not following the common OmpClause convention.
The benefits of using OmpClause: - Functionalities from structure checker are mostly aligned to work with `llvm::omp::Clause`. - The unparsing as well can take advantage. - Homogeneity with OpenACC and rest of the clauses in OpenMP. - Could even generate the parser with TableGen, when there is homogeneity. - It becomes confusing when to use `flangClass` and `flangClassValue` inside TableGen, if incase we generate parser using TableGen we could have only a single `let expression`.
This patch makes `OmpDistScheduleClause` clause part of `OmpClause`. The unparse function for `OmpDistScheduleClause` is adapted since the keyword and parenthesis are issued by the corresponding unparse function for `parser::OmpClause::DistSchedule`.
Reviewed By: clementval, kiranktp
Differential Revision: https://reviews.llvm.org/D93644
show more ...
|
#
e282ae57 |
| 21-Dec-2020 |
sameeran joshi <sameeranjayant.joshi@amd.com> |
[Flang][openmp][4/5] Make nowait clause part of OmpClause
After discussion in `D93482` we found that the some of the clauses were not following the common OmpClause convention.
The benefits of usin
[Flang][openmp][4/5] Make nowait clause part of OmpClause
After discussion in `D93482` we found that the some of the clauses were not following the common OmpClause convention.
The benefits of using OmpClause: - Functionalities from structure checker are mostly aligned to work with `llvm::omp::Clause`. - The unparsing as well can take advantage. - Homogeneity with OpenACC and rest of the clauses in OpenMP. - Could even generate the parser with TableGen, when there is homogeneity. - It becomes confusing when to use `flangClass` and `flangClassValue` inside TableGen, if incase we generate parser using TableGen we could have only a single `let expression`.
This patch makes `OmpNoWait` clause part of `OmpClause`.
Reviewed By: clementval, kiranktp
Differential Revision: https://reviews.llvm.org/D93643
show more ...
|
#
34958d11 |
| 21-Dec-2020 |
sameeran joshi <sameeranjayant.joshi@amd.com> |
[Flang][openmp][3/5] Make ProcBind clause part of OmpClause
After discussion in `D93482` we found that the some of the clauses were not following the common OmpClause convention.
The benefits of us
[Flang][openmp][3/5] Make ProcBind clause part of OmpClause
After discussion in `D93482` we found that the some of the clauses were not following the common OmpClause convention.
The benefits of using OmpClause: - Functionalities from structure checker are mostly aligned to work with `llvm::omp::Clause`. - The unparsing as well can take advantage. - Homogeneity with OpenACC and rest of the clauses in OpenMP. - Could even generate the parser with TableGen, when there is homogeneity. - It becomes confusing when to use `flangClass` and `flangClassValue` inside TableGen, if incase we generate parser using TableGen we could have only a single `let expression`.
This patch makes `OmpProcBindClause` clause part of `OmpClause`. The unparse function is dropped as the unparsing is done by `WALK_NESTED_ENUM` for `OmpProcBindClause`.
Reviewed By: clementval, kiranktp
Differential Revision: https://reviews.llvm.org/D93642
show more ...
|
#
f72c384b |
| 21-Dec-2020 |
sameeran joshi <sameeranjayant.joshi@amd.com> |
[Flang][openmp][2/5] Make Default clause part of OmpClause
After discussion in `D93482` we found that the some of the clauses were not following the common OmpClause convention.
The benefits of usi
[Flang][openmp][2/5] Make Default clause part of OmpClause
After discussion in `D93482` we found that the some of the clauses were not following the common OmpClause convention.
The benefits of using OmpClause: - Functionalities from structure checker are mostly aligned to work with `llvm::omp::Clause`. - The unparsing as well can take advantage. - Homogeneity with OpenACC and rest of the clauses in OpenMP. - Could even generate the parser with TableGen, when there is homogeneity. - It becomes confusing when to use `flangClass` and `flangClassValue` inside TableGen, if incase we generate parser using TableGen we could have only a single `let expression`.
This patch makes `OmpDefaultClause` clause part of `OmpClause`. The unparse function is dropped as the unparsing is done by `WALK_NESTED_ENUM` for `OmpDefaultClause`.
Reviewed By: clementval, kiranktp
Differential Revision: https://reviews.llvm.org/D93641
show more ...
|
#
442aac5d |
| 18-Dec-2020 |
sameeran joshi <sameeranjayant.joshi@amd.com> |
[Flang][openmp][1/5] Make Allocate clause part of OmpClause
After discussion in `D93482` we found that the some of the clauses were not following the common OmpClause convention.
The benefits of us
[Flang][openmp][1/5] Make Allocate clause part of OmpClause
After discussion in `D93482` we found that the some of the clauses were not following the common OmpClause convention.
The benefits of using OmpClause: - Functionalities from structure checker are mostly aligned to work with `llvm::omp::Clause`. - The unparsing as well can take advantage. - Homogeneity with OpenACC and rest of the clauses in OpenMP. - Could even generate the parser with TableGen, when there is homogeneity. - It becomes confusing when to use `flangClass` and `flangClassValue` inside TableGen, if incase we generate parser using TableGen we could have only a single `let expression`.
This patch makes `allocate` clause part of `OmpClause`.The unparse function for `OmpAllocateClause` is adapted since the keyword and parenthesis are issued by the corresponding unparse function for `parser::OmpClause::Allocate`.
Reviewed By: clementval
Differential Revision: https://reviews.llvm.org/D93640
show more ...
|
#
f1569b1e |
| 14-Dec-2020 |
sameeran joshi <sameeranjayant.joshi@amd.com> |
[Flang][OpenMP-5.0] Semantic checks for flush construct.
From OMP 5.0 [2.17.8] Restriction: If memory-order-clause is release,acquire, or acq_rel, list items must not be specified on the flush direc
[Flang][OpenMP-5.0] Semantic checks for flush construct.
From OMP 5.0 [2.17.8] Restriction: If memory-order-clause is release,acquire, or acq_rel, list items must not be specified on the flush directive.
Reviewed By: kiranchandramohan, clementval
Differential Revision: https://reviews.llvm.org/D89879
show more ...
|
#
e43b3b08 |
| 14-Dec-2020 |
sameeran joshi <sameeranjayant.joshi@amd.com> |
[Flang][OpenMP] Semantic checks for Atomic construct.
Patch implements restrictions from 2.17.7 of OpenMP 5.0 standard for atomic Construct. Tests for the same are added.
One of the restriction `O
[Flang][OpenMP] Semantic checks for Atomic construct.
Patch implements restrictions from 2.17.7 of OpenMP 5.0 standard for atomic Construct. Tests for the same are added.
One of the restriction `OpenMP constructs may not be encountered during execution of an atomic region.` Is mentioned in 5.0 standard to be a semantic restriction, but given the stricter nature of parser in F18 it's caught at parsing itself.
This patch is a next patch in series from D88965.
Reviewed By: clementval
Differential Revision: https://reviews.llvm.org/D89583
show more ...
|
#
c9e967af |
| 16-Oct-2020 |
Irina Dobrescu <irina.dobrescu@arm.com> |
[flang]Add Parser Support for Allocate Directive
Differential Revision: https://reviews.llvm.org/D89562
|
#
952c9d3a |
| 21-Nov-2020 |
clementval <clementval@gmail.com> |
[NFC] Fix typo in atomic
|
#
aa179d80 |
| 21-Nov-2020 |
Valentin Clement <clementval@gmail.com> |
[flang][openmp] Separate memory-order-clause parser creating OmpClause node
This patch introduce the separate parser for the memory-order-clause from the general OmpClauseList. This parser still cre
[flang][openmp] Separate memory-order-clause parser creating OmpClause node
This patch introduce the separate parser for the memory-order-clause from the general OmpClauseList. This parser still creates OmpClause node and therefore can use all the feature from TableGen and the OmpStructureChecker. This is applied only for the Flush construct in this patch and it should be applied for atomic as well.
This is the approach we disscussed several time during the weekly call.
Reviewed By: kiranchandramohan, sameeranjoshi
Differential Revision: https://reviews.llvm.org/D91839
show more ...
|
#
42ecf188 |
| 21-Nov-2020 |
sameeran joshi <sameeranjayant.joshi@amd.com> |
[flang][openmp] Fix bug in `OmpClause::Hint` clause which was missing to generate inside in OMP.cpp.inc file.
Before this patch "Hint" isn't found inside the generated file. ./bin/llvm-tblgen --gen-
[flang][openmp] Fix bug in `OmpClause::Hint` clause which was missing to generate inside in OMP.cpp.inc file.
Before this patch "Hint" isn't found inside the generated file. ./bin/llvm-tblgen --gen-directive-gen ../llvm-project/llvm/include/llvm/Frontend/OpenMP/OMP.td -I ../llvm-project/llvm/include/ > OMP.cpp.in
Reviewed By: clementval
Differential Revision: https://reviews.llvm.org/D91909
show more ...
|
#
d95d3d2a |
| 06-Oct-2020 |
sameeran joshi <sameeranjayant.joshi@amd.com> |
[Flang][OpenMP] Rework parser changes for OpenMP atomic construct.
`OmpStructureChecker` is supposed to work only with `parser::OmpClause` after tablegen changes for OpenMP and OpenACC were introduc
[Flang][OpenMP] Rework parser changes for OpenMP atomic construct.
`OmpStructureChecker` is supposed to work only with `parser::OmpClause` after tablegen changes for OpenMP and OpenACC were introduced. Hence `OmpMemoryOrderClause`, `OmpAtomicMemoryOrderClause` and similar ones were failing to catch semantic errors, inspite of having code for semantic checks. This patch tries to change parser for `OmpMemoryOrderClause` and similar dependent ones and use `OmpClauseList` which resides/comes from common tablegen for OpenMP/OpenACC eventually using `parser::OmpClause`.
This patch also tries to : 1. Change `OmpCriticalDirective` in `openmp-parsers.cpp` to support `OmpClauseList`. 2. Check-flang regresses when changes were introduced due to missing semantic checks in OmpCritical, patch implements them at the minimal level to pass the regression. 3. Change tablegen to support Hint clause. 4. Adds missing source locations `CharBlock Source` in each atomic construct. 5. Remove dead code realted to `memory-order-clauses` after moving to `OmpClauseList`.
Reviewed By: kiranchandramohan
Differential Revision: https://reviews.llvm.org/D88965
show more ...
|
#
4536c6ac |
| 08-Sep-2020 |
Kiran Kumar T P <kirankumar.tp@amd.com> |
[flang][OpenMP] Enhance parser support for atomic construct to OpenMP 5.0
Summary: This patch enhances parser support for atomic construct to OpenMP 5.0. 2.17.7 atomic -> ATOMIC [clause [,]] atomic-
[flang][OpenMP] Enhance parser support for atomic construct to OpenMP 5.0
Summary: This patch enhances parser support for atomic construct to OpenMP 5.0. 2.17.7 atomic -> ATOMIC [clause [,]] atomic-clause [[,] clause] | ATOMIC [clause] clause -> memory-order-clause | HINT(hint-expression) memory-order-clause -> SEQ_CST | ACQ_REL | RELEASE | ACQUIRE | RELAXED atomic-clause -> READ | WRITE | UPDATE | CAPTURE
The patch includes code changes and testcase modifications.
Reviewed By: DavidTruby, kiranchandramohan, sameeranjoshi
Differential Revision: https://reviews.llvm.org/D82931
show more ...
|
#
3060894b |
| 17-Aug-2020 |
Valentin Clement <clementval@gmail.com> |
[flang][directives] Use TableGen to generate clause unparsing
Use the TableGen directive back-end to generate code for the clauses unparsing.
Reviewed By: sscalpone, kiranchandramohan
Differential
[flang][directives] Use TableGen to generate clause unparsing
Use the TableGen directive back-end to generate code for the clauses unparsing.
Reviewed By: sscalpone, kiranchandramohan
Differential Revision: https://reviews.llvm.org/D85851
show more ...
|
#
e355f85b |
| 05-Aug-2020 |
Irina Dobrescu <Irina.Dobrescu@arm.com> |
[flang] Add parser support for OpenMP allocate clause
Differential Revision: https://reviews.llvm.org/D85212
|
#
0a90ffa7 |
| 14-Jul-2020 |
Valentin Clement <clementval@gmail.com> |
[flang][openacc] OpenACC 3.0 parser
Summary: This patch introduce the parser for OpenACC 3.0 in Flang. It uses the same TableGen mechanism than OpenMP.
Reviewers: nvdatian, sscalpone, tskeith, klau
[flang][openacc] OpenACC 3.0 parser
Summary: This patch introduce the parser for OpenACC 3.0 in Flang. It uses the same TableGen mechanism than OpenMP.
Reviewers: nvdatian, sscalpone, tskeith, klausler, ichoyjx, jdoerfert, DavidTruby
Reviewed By: klausler
Subscribers: MaskRay, SouraVX, mgorny, hiraditya, jfb, sstefan1, llvm-commits
Tags: #llvm, #flang
Differential Revision: https://reviews.llvm.org/D83649
show more ...
|
#
f06ad913 |
| 14-Jul-2020 |
Valentin Clement <clementval@gmail.com> |
Revert "[flang][openacc] OpenACC 3.0 parser"
This reverts commit 65049d16100af360674659fb56e8f9bec96a0836.
Buildbot failure clang-ppc64le-rhel
|
#
65049d16 |
| 14-Jul-2020 |
Valentin Clement <clementval@gmail.com> |
[flang][openacc] OpenACC 3.0 parser
Summary: This patch introduce the parser for OpenACC 3.0 in Flang. It uses the same TableGen mechanism than OpenMP.
Reviewers: nvdatian, sscalpone, tskeith, klau
[flang][openacc] OpenACC 3.0 parser
Summary: This patch introduce the parser for OpenACC 3.0 in Flang. It uses the same TableGen mechanism than OpenMP.
Reviewers: nvdatian, sscalpone, tskeith, klausler, ichoyjx, jdoerfert, DavidTruby
Reviewed By: klausler
Subscribers: SouraVX, mgorny, hiraditya, jfb, sstefan1, llvm-commits
Tags: #llvm, #flang
Differential Revision: https://reviews.llvm.org/D83649
show more ...
|
#
cd503166 |
| 07-Jul-2020 |
Kiran Kumar T P <kirankumar.tp@amd.com> |
[flang][OpenMP] Enhance parser support for flush construct to OpenMP 5.0
Summary: This patch enhances parser support for flush construct to OpenMP 5.0 by including memory-order-clause.
2.18.8 flush
[flang][OpenMP] Enhance parser support for flush construct to OpenMP 5.0
Summary: This patch enhances parser support for flush construct to OpenMP 5.0 by including memory-order-clause.
2.18.8 flush Construct !$omp flush [memory-order-clause] [(list)] where memory-order-clause is acq_rel release acquire
The patch includes code changes and testcase modifications.
Reviewed By: klausler, kiranchandramohan
Differential Revision: https://reviews.llvm.org/D82177
show more ...
|
#
2ddba308 |
| 02-Jul-2020 |
Valentin Clement <clementval@gmail.com> |
[flang][openmp] Use common Directive and Clause enum from llvm/Frontend
Summary: This patch is removing the custom enumeration for OpenMP Directives and Clauses and replace them with the newly table
[flang][openmp] Use common Directive and Clause enum from llvm/Frontend
Summary: This patch is removing the custom enumeration for OpenMP Directives and Clauses and replace them with the newly tablegen generated one from llvm/Frontend. This is a first patch and some will follow to share the same infrastructure where possible. The next patch should use the clauses allowance defined in the tablegen file.
Reviewers: jdoerfert, DavidTruby, sscalpone, kiranchandramohan, ichoyjx
Reviewed By: DavidTruby, ichoyjx
Subscribers: jholewinski, cfe-commits, dblaikie, MaskRay, ymandel, ichoyjx, mgorny, yaxunl, guansong, jfb, sstefan1, aaron.ballman, llvm-commits
Tags: #llvm, #flang, #clang
Differential Revision: https://reviews.llvm.org/D82906
show more ...
|
#
5c37b2a5 |
| 01-Jul-2020 |
clementval <clementval@gmail.com> |
Revert "[flang][openmp] Use common Directive and Clause enum from llvm/Frontend"
This reverts commit 7f1e7767952233d1b6af1feef1371d127de5fa50.
|