MLIR  22.0.0git
Classes | Namespaces | Macros | Functions
Linalg.h File Reference
#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/CopyOpInterface.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

 mlir
 Include the generated interface declarations.
 
 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. More...
 
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. More...
 
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. More...
 
SmallVector< AffineExpr, 4 > mlir::linalg::concat (ArrayRef< AffineExpr > a, ArrayRef< AffineExpr > b)
 Return the vector that is the concatenation of a and b. More...
 
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. More...
 
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. More...
 
std::optional< WinogradConv2DFmr > mlir::linalg::getWinogradConv2DFmr (int64_t m, int64_t r)
 Converts the given m and r parameters to a WinogradConv2DFmr enumeration value. More...
 
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. More...
 
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. More...
 

Macro Definition Documentation

◆ GET_ATTRDEF_CLASSES

#define GET_ATTRDEF_CLASSES

Definition at line 126 of file Linalg.h.

◆ GET_OP_CLASSES [1/3]

#define GET_OP_CLASSES

Definition at line 145 of file Linalg.h.

◆ GET_OP_CLASSES [2/3]

#define GET_OP_CLASSES

Definition at line 145 of file Linalg.h.

◆ GET_OP_CLASSES [3/3]

#define GET_OP_CLASSES

Definition at line 145 of file Linalg.h.