Skip to content

[flang][openmp]Add UserReductionDetails and use in DECLARE REDUCTION #140066

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 12 commits into
base: main
Choose a base branch
from

Conversation

tblah
Copy link
Contributor

@tblah tblah commented May 15, 2025

This adds another puzzle piece for the support of OpenMP DECLARE REDUCTION functionality.

This adds support for operators with derived types, as well as declaring multiple different types with the same name or operator.

A new detail class for UserReductionDetials is introduced to hold the list of types supported for a given reduction declaration.

Tests for parsing and symbol generation added.

Declare reduction is still not supported to lowering, it will generate a "Not yet implemented" fatal error.

This adds another puzzle piece for the support of OpenMP DECLARE
REDUCTION functionality.

This adds support for operators with derived types, as well as declaring
multiple different types with the same name or operator.

A new detail class for UserReductionDetials is introduced to hold
the list of types supported for a given reduction declaration.

Tests for parsing and symbol generation added.

Declare reduction is still not supported to lowering, it
will generate a "Not yet implemented" fatal error.
* Add two more tests (multiple operator-based declarations and re-using
  symbol already declared.
* Add a few comments.
* Fix up logical results.
Also print the reduction declaration in the module file.

Fix trivial typo.

Add/modify tests to cover all the new things, including fixing
the duplicated typo in the test...
Also rebase, as the branch was quite a way behind. Small conflict
was resolved.
Add code to better handle operators in parsing and semantics.
Add a function to set the the scope when processign assignments,
which caused a crash in "check for pure functions".

Add three new tests and amend existing tests to cover a pure function.
@tblah
Copy link
Contributor Author

tblah commented May 15, 2025

This is a continuation of @Leporacanthicus's work in #131628.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants