MLIR  17.0.0git
DestinationStyleOpInterface.h
Go to the documentation of this file.
1 //===- DestinationStyleOpInterface.h ----------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM 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 #ifndef MLIR_INTERFACES_DESTINATIONSTYLEOPINTERFACE_H_
10 #define MLIR_INTERFACES_DESTINATIONSTYLEOPINTERFACE_H_
11 
12 #include "mlir/IR/Builders.h"
13 #include "mlir/IR/BuiltinTypes.h"
14 #include "mlir/IR/IRMapping.h"
15 #include "mlir/IR/OpDefinition.h"
16 #include "mlir/IR/Value.h"
17 #include "llvm/ADT/SmallVector.h"
18 
19 namespace mlir {
20 /// OpOperand vector that implicitly converts to a Value vector.
21 struct OpOperandVector : public llvm::SmallVector<OpOperand *> {
22  operator SmallVector<Value>();
23 };
24 
25 namespace detail {
26 /// Verify that `op` conforms to the invariants of DestinationStyleOpInterface
28 } // namespace detail
29 } // namespace mlir
30 
31 /// Include the generated interface declarations.
32 #include "mlir/Interfaces/DestinationStyleOpInterface.h.inc"
33 
34 #endif // MLIR_INTERFACES_DESTINATIONSTYLEOPINTERFACE_H_
Operation is the basic unit of execution within MLIR.
Definition: Operation.h:75
LogicalResult verifyDestinationStyleOpInterface(Operation *op)
Verify that op conforms to the invariants of DestinationStyleOpInterface.
This header declares functions that assit transformations in the MemRef dialect.
This class represents an efficient way to signal success or failure.
Definition: LogicalResult.h:26
OpOperand vector that implicitly converts to a Value vector.