llvm / llvm/llvm-project

[Flang][OpenMP] Refresh stale status in DoConcurrentConversionToOpenMP.md

Open
#218,762 0 comments 0 reactions 0 assignees View on GitHub
documentation flang:openmp
Dominant language
LLVM
Stars
40.5k
Forks
18.7k
PR merge metrics
PR metrics pending

Description

### Description

At upstream commit `6120eb5267a8643dd399f8858b6c92f23a846551`, several sections of `flang/docs/DoConcurrentConversionToOpenMP.md` describe an earlier implementation state.

The document states its own scope: current status, limitations, next steps, and work upstreamed from the AMD ROCm fork.

https://github.com/llvm/llvm-project/blob/6120eb5267a8643dd399f8858b6c92f23a846551/flang/docs/DoConcurrentConversionToOpenMP.md#L17-L25

The current-status section already records `LOCAL`, partial `REDUCE`, derived-type mapping, and basic GPU support:

https://github.com/llvm/llvm-project/blob/6120eb5267a8643dd399f8858b6c92f23a846551/flang/docs/DoConcurrentConversionToOpenMP.md#L48-L58

Later sections still describe landed work as unfinished:

- The `Next steps` section says that concurrent loops still use `fir.do_loop` and need a separate operation. Flang now uses `fir.do_concurrent`.
- The locality section says that FIR support must be implemented. Flang now supports `LOCAL`. `LOCAL_INIT` remains unsupported.
- The reduction section describes all reduction mapping as an open TODO. Flang now supports F2023 `REDUCE` in part.
- The upstreaming checklist leaves basic host and device mapping unchecked. Both have landed upstream.

Stale sections:

https://github.com/llvm/llvm-project/blob/6120eb5267a8643dd399f8858b6c92f23a846551/flang/docs/DoConcurrentConversionToOpenMP.md#L268-L336

https://github.com/llvm/llvm-project/blob/6120eb5267a8643dd399f8858b6c92f23a846551/flang/docs/DoConcurrentConversionToOpenMP.md#L366-L374

Relevant landed work includes:

- https://github.com/llvm/llvm-project/pull/138489 for the dedicated `fir.do_concurrent` representation.
- https://github.com/llvm/llvm-project/pull/179936 for generated declare mappers for records.
- https://github.com/llvm/llvm-project/pull/189378 for device reduction-variable mapping.
- https://github.com/llvm/llvm-project/pull/194582 for the most recent status-document update.

### Suggested update

- Reconcile or remove the stale `Next steps` descriptions.
- Replace the historical upstreaming checklist with current support status.
- Distinguish landed support from partial support and explicit limitations.
- Keep documenting the remaining gaps: `LOCAL_INIT`, nested records, limited implicit mapping, missing data-dependence analysis, and non-rectangular loop nests.
- List the current end-to-end device tests separately from FIR-to-OpenMP conversion tests.

Contributor guide

Open the contributing guide

Research direction

Update flang/docs/DoConcurrentConversionToOpenMP.md, focusing on the stale Next steps, locality, reduction, and upstreaming sections identified in the issue. Review the linked landed work and current-status section first; done means the document distinguishes landed, partial, and unsupported features and accurately lists the remaining gaps and current end-to-end tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
markdown
Domain
compilers, documentation
Issue type
Documentation
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
76/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.