My Project
InferTypeOpInterface.h
Go to the documentation of this file.
1 //===- InferTypeOpInterface.h - Infer Type Interfaces -----------*- C++ -*-===//
2 //
3 // Part of the MLIR Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 //
9 // This file contains the definitions of the infer op interfaces defined in
10 // `InferTypeOpInterface.td`.
11 //
12 //===----------------------------------------------------------------------===//
13 
14 #ifndef MLIR_ANALYSIS_INFERTYPEOPINTERFACE_H_
15 #define MLIR_ANALYSIS_INFERTYPEOPINTERFACE_H_
16 
17 #include "mlir/IR/Attributes.h"
18 #include "mlir/IR/Location.h"
19 #include "mlir/IR/OpDefinition.h"
20 #include "mlir/IR/Operation.h"
21 #include "mlir/IR/Types.h"
22 #include "mlir/Support/LLVM.h"
23 #include "llvm/ADT/SmallVector.h"
24 
25 namespace mlir {
26 
27 #include "mlir/Analysis/InferTypeOpInterface.h.inc"
28 
29 namespace OpTrait {
30 template <typename ConcreteType>
32  : public TraitBase<ConcreteType, TypeOpInterfaceDefault> {
33 public:
37  return lhs == rhs;
38  };
39 };
40 } // namespace OpTrait
41 
42 } // namespace mlir
43 
44 #endif // MLIR_ANALYSIS_INFERTYPEOPINTERFACE_H_
Definition: InferTypeOpInterface.cpp:20
static bool isCompatibleReturnTypes(ArrayRef< Type > lhs, ArrayRef< Type > rhs)
Definition: InferTypeOpInterface.h:36
Definition: LLVM.h:37
Definition: InferTypeOpInterface.h:31
Definition: OpDefinition.h:386