[all-commits] [llvm/llvm-project] ff219e: [OpenACC] Initial commits to support OpenACC (#70234)

Erich Keane via All-commits all-commits at lists.llvm.org
Fri Nov 17 06:29:15 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ff219ea9ca80f46ff85dbdb94622ffb319a0d237
      https://github.com/llvm/llvm-project/commit/ff219ea9ca80f46ff85dbdb94622ffb319a0d237
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2023-11-17 (Fri, 17 Nov 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Parse/Parser.h
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Parse/CMakeLists.txt
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    A clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Parse/ParsePragma.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    A clang/test/Driver/openacc.c
    A clang/test/ParserOpenACC/disabled.c
    A clang/test/ParserOpenACC/unimplemented.c
    A clang/test/ParserOpenACC/unimplemented.cpp
    A clang/test/Preprocessor/openacc.c

  Log Message:
  -----------
  [OpenACC] Initial commits to support OpenACC (#70234)

Initial commits to support OpenACC.  This patchset:

adds a clang-command line argument '-fopenacc', and starts
 to define _OPENACC, albeit to '1' instead of the standardized
value (since we don't properly implement OpenACC yet).

The OpenACC spec defines `_OPENACC` to be equal to the latest standard
implemented. However, since we're not done implementing any standard,
we've defined this by default to be `1`. As it is useful to run our
compiler against existing OpenACC workloads, we're providing a
temporary override flag to change the `_OPENACC` value to be any
entirely digit value, permitting testing against any existing OpenACC
project.

Exactly like the OpenMP parser, the OpenACC pragma parser needs to
consume and reprocess the tokens. This patch sets up the infrastructure
to do so by refactoring the OpenMP version of this into a more general
version that works for OpenACC as well.

Additionally, this adds a few diagnostics and token kinds to get us
started.




More information about the All-commits mailing list