|
MLIR 22.0.0git
|
#include "mlir/Bytecode/BytecodeOpInterface.h"#include "mlir/Dialect/Tensor/IR/Tensor.h"#include "mlir/Dialect/Utils/ReshapeOpsUtils.h"#include "mlir/Dialect/Utils/StructuredOpsUtils.h"#include "mlir/IR/AffineExpr.h"#include "mlir/IR/AffineMap.h"#include "mlir/IR/BuiltinDialect.h"#include "mlir/IR/BuiltinTypes.h"#include "mlir/IR/Diagnostics.h"#include "mlir/IR/Dialect.h"#include "mlir/IR/ImplicitLocOpBuilder.h"#include "mlir/IR/TypeUtilities.h"#include "mlir/Interfaces/ControlFlowInterfaces.h"#include "mlir/Interfaces/DestinationStyleOpInterface.h"#include "mlir/Interfaces/InferTypeOpInterface.h"#include "mlir/Interfaces/SideEffectInterfaces.h"#include "mlir/Interfaces/TilingInterface.h"#include "mlir/Interfaces/ViewLikeInterface.h"#include "llvm/ADT/STLFunctionalExtras.h"#include <optional>#include "mlir/Dialect/Linalg/IR/LinalgOpsDialect.h.inc"#include "mlir/Dialect/Linalg/IR/LinalgOpsEnums.h.inc"#include "mlir/Dialect/Linalg/IR/LinalgOpsAttrDefs.h.inc"#include "mlir/Dialect/Linalg/IR/LinalgInterfaces.h"#include "mlir/Dialect/Linalg/IR/LinalgOps.h.inc"#include "mlir/Dialect/Linalg/IR/LinalgStructuredOps.h.inc"#include "mlir/Dialect/Linalg/IR/LinalgRelayoutOps.h.inc"Go to the source code of this file.
Classes | |
| class | mlir::linalg::MatmulTransposeAOp |
| Specialization of linalg.matmul op that has a transpose map on A. More... | |
| class | mlir::linalg::MatmulTransposeBOp |
| Specialization of linalg.matmul op that has a transpose map on B. More... | |
| class | mlir::linalg::BatchMatmulTransposeAOp |
| Specialization of linalg.batch_matmul op that has a transpose map on A. More... | |
| class | mlir::linalg::BatchMatmulTransposeBOp |
| Specialization of linalg.batch_matmul op that has a transpose map on B. More... | |
Namespaces | |
| namespace | mlir |
| Include the generated interface declarations. | |
| namespace | mlir::linalg |
Macros | |
| #define | GET_ATTRDEF_CLASSES |
| #define | GET_OP_CLASSES |
| #define | GET_OP_CLASSES |
| #define | GET_OP_CLASSES |
Functions | |
| std::string | mlir::linalg::generateLibraryCallName (Operation *op) |
| Returns the name mangled library call name to disambiguate between different overloads at the C level. | |
| SmallVector< AffineExpr, 4 > | mlir::linalg::makeAffineDimExprs (unsigned num, unsigned &startIdx, MLIRContext *context) |
| Returns num AffineDimExpr dimensions at positions [startIdx, startIdx + num) and increments startIdx to startIdx + num. | |
| AffineMap | mlir::linalg::extractOrIdentityMap (std::optional< AffineMap > maybeMap, unsigned rank, MLIRContext *context) |
| Returns maybeMap.get() if maybeMap is set, otherwise returns the symbol-less identity map of rank. | |
| SmallVector< AffineExpr, 4 > | mlir::linalg::concat (ArrayRef< AffineExpr > a, ArrayRef< AffineExpr > b) |
| Return the vector that is the concatenation of a and b. | |
| Value | mlir::linalg::createOrFoldDimOp (OpBuilder &b, Location loc, Value val, int64_t dim) |
| Create one memref::DimOp or tensor::DimOp depending on the type of val. | |
| OpFoldResult | mlir::linalg::createFoldedDimOp (OpBuilder &b, Location loc, Value val, int64_t dim) |
| Create one memref::DimOp or tensor::DimOp depending on the type of val. | |
| std::optional< WinogradConv2DFmr > | mlir::linalg::getWinogradConv2DFmr (int64_t m, int64_t r) |
| Converts the given m and r parameters to a WinogradConv2DFmr enumeration value. | |
| std::pair< int64_t, int64_t > | mlir::linalg::getFmrFromWinogradConv2DFmr (WinogradConv2DFmr fmr) |
| Converts the given WinogradConv2DFmr enumeration value to a pair of m and r parameters. | |
| template<typename OpTy, typename = std::enable_if_t<std::is_same_v<OpTy, linalg::PackOp> || std::is_same_v<OpTy, linalg::UnPackOp>>> | |
| SmallVector< int64_t > | mlir::linalg::getPackedOuterShapeWithoutTransposition (OpTy packOrUnPack) |
| Returns the outer shape in the packed domain before applying the transposition. | |