1444822d7SSean Silva //===----------------------------------------------------------------------===//
2444822d7SSean Silva //
3444822d7SSean Silva // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4444822d7SSean Silva // See https://llvm.org/LICENSE.txt for license information.
5444822d7SSean Silva // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6444822d7SSean Silva //
7444822d7SSean Silva //===----------------------------------------------------------------------===//
8444822d7SSean Silva 
9*eda6f907SRiver Riddle #include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
10*eda6f907SRiver Riddle #include "mlir/Dialect/Complex/IR/Complex.h"
11444822d7SSean Silva #include "mlir/Dialect/Tensor/IR/Tensor.h"
12444822d7SSean Silva #include "mlir/Transforms/InliningUtils.h"
13444822d7SSean Silva 
14444822d7SSean Silva using namespace mlir;
15444822d7SSean Silva using namespace mlir::tensor;
16444822d7SSean Silva 
17485cc55eSStella Laurenzo #include "mlir/Dialect/Tensor/IR/TensorOpsDialect.cpp.inc"
18485cc55eSStella Laurenzo 
19444822d7SSean Silva //===----------------------------------------------------------------------===//
20444822d7SSean Silva // TensorDialect Dialect Interfaces
21444822d7SSean Silva //===----------------------------------------------------------------------===//
22444822d7SSean Silva 
23444822d7SSean Silva namespace {
24444822d7SSean Silva struct TensorInlinerInterface : public DialectInlinerInterface {
25444822d7SSean Silva   using DialectInlinerInterface::DialectInlinerInterface;
isLegalToInline__anona10b42a30111::TensorInlinerInterface26444822d7SSean Silva   bool isLegalToInline(Region *dest, Region *src, bool wouldBeCloned,
27444822d7SSean Silva                        BlockAndValueMapping &valueMapping) const final {
28444822d7SSean Silva     return true;
29444822d7SSean Silva   }
isLegalToInline__anona10b42a30111::TensorInlinerInterface30444822d7SSean Silva   bool isLegalToInline(Operation *, Region *, bool wouldBeCloned,
31444822d7SSean Silva                        BlockAndValueMapping &) const final {
32444822d7SSean Silva     return true;
33444822d7SSean Silva   }
34444822d7SSean Silva };
35be0a7e9fSMehdi Amini } // namespace
36444822d7SSean Silva 
3723c9e8bcSAart Bik //===----------------------------------------------------------------------===//
3823c9e8bcSAart Bik // TensorDialect Methods
3923c9e8bcSAart Bik //===----------------------------------------------------------------------===//
4023c9e8bcSAart Bik 
initialize()41444822d7SSean Silva void TensorDialect::initialize() {
42444822d7SSean Silva   addOperations<
43444822d7SSean Silva #define GET_OP_LIST
44444822d7SSean Silva #include "mlir/Dialect/Tensor/IR/TensorOps.cpp.inc"
45444822d7SSean Silva       >();
46444822d7SSean Silva   addInterfaces<TensorInlinerInterface>();
47444822d7SSean Silva }
48