[PATCH] D82991: [flang] Add the Runtime.h to prepare for more code being upstreamed.

Eric Schweitz via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 1 12:59:26 PDT 2020


schweitz created this revision.
schweitz added reviewers: jeanPerier, sscalpone, vjayathirtha-nv, kiranchandramohan, clementval.
schweitz added a project: Flang.
Herald added a reviewer: jdoerfert.
Herald added a reviewer: DavidTruby.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

  This is the header file for lowering Fortran statements that depend on
  the Fortran runtime support library. The implementation of the lowering
  of these constructs will follow in a subsequent diff.



Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D82991

Files:
  flang/include/flang/Lower/Runtime.h


Index: flang/include/flang/Lower/Runtime.h
===================================================================
--- /dev/null
+++ flang/include/flang/Lower/Runtime.h
@@ -0,0 +1,57 @@
+//===-- Lower/Runtime.h -- Fortran runtime codegen interface ----*- C++ -*-===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+//
+// Builder routines for constructing the FIR dialect of MLIR. As FIR is a
+// dialect of MLIR, it makes extensive use of MLIR interfaces and MLIR's coding
+// style (https://mlir.llvm.org/getting_started/DeveloperGuide/) is used in this
+// module.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef FORTRAN_LOWER_RUNTIME_H
+#define FORTRAN_LOWER_RUNTIME_H
+
+namespace Fortran {
+
+namespace parser {
+struct EventPostStmt;
+struct EventWaitStmt;
+struct LockStmt;
+struct PauseStmt;
+struct StopStmt;
+struct SyncAllStmt;
+struct SyncImagesStmt;
+struct SyncMemoryStmt;
+struct SyncTeamStmt;
+struct UnlockStmt;
+} // namespace parser
+
+namespace lower {
+
+class AbstractConverter;
+
+// Lowering of Fortran statement related runtime (other than IO and maths)
+
+void genEventPostStatement(AbstractConverter &, const parser::EventPostStmt &);
+void genEventWaitStatement(AbstractConverter &, const parser::EventWaitStmt &);
+void genLockStatement(AbstractConverter &, const parser::LockStmt &);
+void genFailImageStatement(AbstractConverter &);
+void genStopStatement(AbstractConverter &, const parser::StopStmt &);
+void genSyncAllStatement(AbstractConverter &, const parser::SyncAllStmt &);
+void genSyncImagesStatement(AbstractConverter &,
+                            const parser::SyncImagesStmt &);
+void genSyncMemoryStatement(AbstractConverter &,
+                            const parser::SyncMemoryStmt &);
+void genSyncTeamStatement(AbstractConverter &, const parser::SyncTeamStmt &);
+void genUnlockStatement(AbstractConverter &, const parser::UnlockStmt &);
+void genPauseStatement(AbstractConverter &, const parser::PauseStmt &);
+
+} // namespace lower
+} // namespace Fortran
+
+#endif // FORTRAN_LOWER_RUNTIME_H


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D82991.274894.patch
Type: text/x-patch
Size: 2342 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200701/17294df2/attachment.bin>


More information about the llvm-commits mailing list