[Flang][OpenMP] Refresh stale status in DoConcurrentConversionToOpenMP.md
- 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
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