https://github.com/erichkeane created https://github.com/llvm/llvm-project/pull/145938
This patch adds a release note that explains the current status of OpenACC in Clang. Currently we cannot actually make an executable because the OpenACC dialect of MLIR doesn't support any amount of lowering to LLVM-IR, so the usefulness of OpenACC is entirely for front-end related uses, such as tooling or semantic checking. >From 9b27a97b2d4531328d8e6d3fed05e7b5beb0ac9c Mon Sep 17 00:00:00 2001 From: erichkeane <eke...@nvidia.com> Date: Thu, 26 Jun 2025 10:33:01 -0700 Subject: [PATCH] [OpenACC][Docs] Add a release note for Clang 21 This patch adds a release note that explains the current status of OpenACC in Clang. Currently we cannot actually make an executable because the OpenACC dialect of MLIR doesn't support any amount of lowering to LLVM-IR, so the usefulness of OpenACC is entirely for front-end related uses, such as tooling or semantic checking. --- clang/docs/ReleaseNotes.rst | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst index 01f3b7a557a5c..86216f1503457 100644 --- a/clang/docs/ReleaseNotes.rst +++ b/clang/docs/ReleaseNotes.rst @@ -1068,10 +1068,22 @@ Static Analyzer New features ^^^^^^^^^^^^ -A new flag - `-static-libclosure` was introduced to support statically linking -the runtime for the Blocks extension on Windows. This flag currently only -changes the code generation, and even then, only on Windows. This does not -impact the linker behaviour like the other `-static-*` flags. +- A new flag - `-static-libclosure` was introduced to support statically linking + the runtime for the Blocks extension on Windows. This flag currently only + changes the code generation, and even then, only on Windows. This does not + impact the linker behaviour like the other `-static-*` flags. +- OpenACC support, enabled via `-fopenacc` has reached a level of completeness + to finally be at least notionally usable. Currently, the OpenACC 3.4 + specification has been completely implemented for Sema and AST creation, so + nodes will show up in the AST after having been properly checked. Lowering is + currently a work in progress, with compute, loop, and combined constructs + partially implemented, plus a handful of data and executable constructs + implemented. Lowering will only work in Clang-IR mode (so only with a compiler + built with Clang-IR enabled, and with `-fclangir` used on the command line). + However, note that the Clang-IR implementation status is also quite partial, + so frequent 'not yet implemented' diagnostics should be expected. Also, the + ACC MLIR dialect does not currently implement any lowering to LLVM-IR, so no + code generation is possible for OpenACC. Crash and bug fixes ^^^^^^^^^^^^^^^^^^^ _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits