[flang] Add FIR dialect header

Original-commit: flang-compiler/f18@3c902e04d7
Reviewed-on: https://github.com/flang-compiler/f18/pull/668
This commit is contained in:
Eric Schweitz 2019-08-16 19:01:49 -07:00
parent 9325f9974a
commit 7f2ce553e4
1 changed files with 54 additions and 0 deletions

View File

@ -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