[flang-commits] [flang] [Flang][OpenMP] Add OpenMP standards support doc (PR #132707)
Kiran Chandramohan via flang-commits
flang-commits at lists.llvm.org
Mon Mar 24 11:32:59 PDT 2025
https://github.com/kiranchandramohan updated https://github.com/llvm/llvm-project/pull/132707
>From c48a92166f139d68be834e59028066a40f81d292 Mon Sep 17 00:00:00 2001
From: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: Mon, 24 Mar 2025 10:32:56 +0000
Subject: [PATCH 1/2] [Flang][OpenMP] Add OpenMP standards support doc
---
flang/docs/OpenMPStandardsSupport.md | 62 ++++++++++++++++++++++++++++
flang/docs/index.md | 1 +
2 files changed, 63 insertions(+)
create mode 100644 flang/docs/OpenMPStandardsSupport.md
diff --git a/flang/docs/OpenMPStandardsSupport.md b/flang/docs/OpenMPStandardsSupport.md
new file mode 100644
index 0000000000000..9942fc8faa608
--- /dev/null
+++ b/flang/docs/OpenMPStandardsSupport.md
@@ -0,0 +1,62 @@
+<!--===- docs/FortranStandardsSupport.md
+
+ Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+ See https://llvm.org/LICENSE.txt for license information.
+ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+
+-->
+
+# Flang OpenMP Standards Support
+
+```{contents}
+---
+local:
+---
+```
+
+This document summarizes OpenMP standards support in Flang. The information is only provided as a guideline. The
+TODOs/Not Yet Implemented messages emitted by the compiler for unimplemented features should be treated as authoritative.
+Standards support is provided upto OpenMP 4.0 for now. It will be extended later for OpenMP 4.5, OpenMP 5.* and OpenMP 6.0.
+
+The standards support information is provided as a table with three columns that are self explanatory. The Status column uses
+the letters **P**, **Y**, **N** for the implementation status:
+- **P** : When the implementation is incomplete for a few cases
+- **Y** : When the implementation is complete
+- **N** : When the implementation is absent
+
+Note : No distinction is made between the support in the Parser/Semantics, MLIR or Lowering support, and OpenMPIRBuilder support.
+
+## OpenMP 4.0
+
+| Feature | Status | Comments |
+|------------------------------------------------------------|--------|---------------------------------------------------------|
+| proc_bind clause | Y | |
+| simd construct | P | Some clauses are not supported |
+| declare simd construct | N | |
+| do simd construct | Y | |
+| target data construct | P | |
+| target construct | P | |
+| target update construct | P | |
+| declare target directive | P | |
+| teams construct | P | |
+| distribute construct | P | |
+| distribute simd construct | P | |
+| distribute parallel loop construct | P | |
+| distribute parallel loop simd construct | P | |
+| depend clause | P | Depend clause with array sections are not supported |
+| declare reduction construct | N | |
+| atomic construct extensions | Y | |
+| cancel construct | N | |
+| cancellation point construct | N | |
+| parallel do simd construct | Y | |
+| target teams construct | P | |
+| teams distribute construct | P | |
+| teams distribute simd construct | P | |
+| target teams distribute construct | P | |
+| teams distribute parallel loop construct | P | |
+| target teams distribute parallel loop construct | P | |
+| teams distribute parallel loop simd construct | P | |
+| target teams distribute parallel loop simd construct | P | |
+
+## OpenMP 3.1, OpenMP 2.5, OpenMP 1.1
+All features except a few corner cases in atomic, copyin constructs/clauses are supported
diff --git a/flang/docs/index.md b/flang/docs/index.md
index 1de0ee2e6f0d6..9a037812c43ee 100644
--- a/flang/docs/index.md
+++ b/flang/docs/index.md
@@ -29,6 +29,7 @@ on how to get in touch with us and to learn more about the current status.
GettingInvolved
GettingStarted
ImplementingASemanticCheck
+ OpenMPStandardsSupport
PullRequestChecklist
```
>From 06f3a9f874a3b2ed427a918e78c5ce0eb3a4dbdc Mon Sep 17 00:00:00 2001
From: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: Mon, 24 Mar 2025 18:32:44 +0000
Subject: [PATCH 2/2] Address review comment
---
flang/docs/OpenMPStandardsSupport.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/flang/docs/OpenMPStandardsSupport.md b/flang/docs/OpenMPStandardsSupport.md
index 9942fc8faa608..32fe4ccc0ef77 100644
--- a/flang/docs/OpenMPStandardsSupport.md
+++ b/flang/docs/OpenMPStandardsSupport.md
@@ -16,7 +16,7 @@ local:
This document summarizes OpenMP standards support in Flang. The information is only provided as a guideline. The
TODOs/Not Yet Implemented messages emitted by the compiler for unimplemented features should be treated as authoritative.
-Standards support is provided upto OpenMP 4.0 for now. It will be extended later for OpenMP 4.5, OpenMP 5.* and OpenMP 6.0.
+As of March 2025, standards support is provided upto OpenMP 4.0. We are actively working towards supporting OpenMP 4.5, OpenMP 5.* and OpenMP 6.0.
The standards support information is provided as a table with three columns that are self explanatory. The Status column uses
the letters **P**, **Y**, **N** for the implementation status:
More information about the flang-commits
mailing list