[flang] Add FIR dialect header
authorEric Schweitz <eschweitz@nvidia.com>
Sat, 17 Aug 2019 02:01:49 +0000 (19:01 -0700)
committerEric Schweitz <eschweitz@nvidia.com>
Sat, 17 Aug 2019 02:01:49 +0000 (19:01 -0700)
Original-commit: flang-compiler/f18@3c902e04d7db782ffecdbee937b4b9e3b35b5551
Reviewed-on: https://github.com/flang-compiler/f18/pull/668

flang/include/fir/Dialect.h [new file with mode: 0644]

diff --git a/flang/include/fir/Dialect.h b/flang/include/fir/Dialect.h
new file mode 100644 (file)
index 0000000..3b63a46
--- /dev/null
@@ -0,0 +1,54 @@
+// Copyright (c) 2019, NVIDIA CORPORATION.  All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#ifndef FIR_DIALECT_H
+#define FIR_DIALECT_H
+
+#include "mlir/IR/Dialect.h"
+
+namespace llvm {
+class raw_ostream;
+class StringRef;
+}
+
+namespace mlir {
+class Attribute;
+class Location;
+class MLIRContext;
+class Type;
+}
+
+namespace fir {
+
+/// FIR dialect
+class FIROpsDialect final : public mlir::Dialect {
+public:
+  explicit FIROpsDialect(mlir::MLIRContext *ctx);
+  virtual ~FIROpsDialect();
+
+  static llvm::StringRef getDialectNamespace() { return "fir"; }
+
+  mlir::Type parseType(
+      llvm::StringRef rawData, mlir::Location loc) const override;
+  void printType(mlir::Type ty, llvm::raw_ostream &os) const override;
+
+  mlir::Attribute parseAttribute(llvm::StringRef attrData, mlir::Type type,
+      mlir::Location loc) const override;
+  void printAttribute(
+      mlir::Attribute attr, llvm::raw_ostream &os) const override;
+};
+
+}  // fir
+
+#endif  // FIR_DIALECT_H