• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //===- Intrinsics.h - MLIR EDSC Intrinsics for Linalg -----------*- 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 #ifndef MLIR_DIALECT_LINALG_EDSC_INTRINSICS_H_
9 #define MLIR_DIALECT_LINALG_EDSC_INTRINSICS_H_
10 
11 #include "mlir/Dialect/Linalg/IR/LinalgOps.h"
12 #include "mlir/Dialect/StandardOps/EDSC/Intrinsics.h"
13 
14 namespace mlir {
15 namespace edsc {
16 namespace intrinsics {
17 
18 using linalg_copy = OperationBuilder<linalg::CopyOp>;
19 using linalg_dot = OperationBuilder<linalg::DotOp>;
20 using linalg_fill = OperationBuilder<linalg::FillOp>;
21 using linalg_matmul = OperationBuilder<linalg::MatmulOp>;
22 using linalg_matvec = OperationBuilder<linalg::MatvecOp>;
23 using linalg_vecmat = OperationBuilder<linalg::VecmatOp>;
24 using linalg_range = ValueBuilder<linalg::RangeOp>;
25 using linalg_reshape = ValueBuilder<linalg::ReshapeOp>;
26 using linalg_slice = ValueBuilder<linalg::SliceOp>;
27 using linalg_yield = OperationBuilder<linalg::YieldOp>;
28 
29 } // namespace intrinsics
30 } // namespace edsc
31 } // namespace mlir
32 
33 #endif // MLIR_DIALECT_LINALG_EDSC_INTRINSICS_H_
34