|
MLIR 22.0.0git
|
#include "mlir/Dialect/Linalg/Transforms/TilingInterfaceImpl.h"#include "mlir/Analysis/SliceAnalysis.h"#include "mlir/Dialect/Affine/IR/AffineOps.h"#include "mlir/Dialect/Affine/Utils.h"#include "mlir/Dialect/Arith/IR/Arith.h"#include "mlir/Dialect/Arith/Utils/Utils.h"#include "mlir/Dialect/Linalg/IR/Linalg.h"#include "mlir/Dialect/Linalg/Utils/Utils.h"#include "mlir/Dialect/MemRef/IR/MemRef.h"#include "mlir/Dialect/Tensor/IR/Tensor.h"#include "mlir/Dialect/Utils/IndexingUtils.h"#include "mlir/Dialect/Utils/StaticValueUtils.h"#include "mlir/Dialect/Utils/StructuredOpsUtils.h"#include "mlir/IR/BuiltinTypeInterfaces.h"#include "mlir/Interfaces/TilingInterface.h"#include "mlir/Interfaces/ValueBoundsOpInterface.h"#include "llvm/Support/Debug.h"#include <optional>#include "mlir/Dialect/Linalg/IR/LinalgStructuredOps.cpp.inc"Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "linalg-tiling-interface-impl" |
| #define | GET_OP_LIST |
Functions | |
| static SmallVector< Value > | getIndicesForAccess (OpBuilder &b, Location loc, AffineMap indexingMap, ValueRange ivs) |
| Return the SSA values that represent the data point accessed using a given indexingMap for a given point in the iteration space represented by ivs. | |
| static LogicalResult | inlinePayload (OpBuilder &b, LinalgOp linalgOp, ValueRange ivs, ValueRange argValues) |
| Method to inline the payload of a linalgOp given the iteration space point and values for the arguments of the payload. | |
| template<typename OpType> | |
| static void | registerOne (MLIRContext *ctx) |
| template<typename... OpTypes> | |
| static void | registerAll (MLIRContext *ctx) |
| Variadic helper function. | |
| #define DEBUG_TYPE "linalg-tiling-interface-impl" |
Definition at line 29 of file TilingInterfaceImpl.cpp.
| #define GET_OP_LIST |
Definition at line 1403 of file TilingInterfaceImpl.cpp.
|
static |
Return the SSA values that represent the data point accessed using a given indexingMap for a given point in the iteration space represented by ivs.
Definition at line 40 of file TilingInterfaceImpl.cpp.
References b, mlir::AffineMap::get(), mlir::AffineMap::getNumDims(), mlir::AffineMap::getNumResults(), mlir::AffineMap::getNumSymbols(), mlir::AffineMap::getResults(), indices, and result.
Referenced by inlinePayload().
|
static |
Method to inline the payload of a linalgOp given the iteration space point and values for the arguments of the payload.
Definition at line 56 of file TilingInterfaceImpl.cpp.
References b, mlir::Block::getArguments(), getIndicesForAccess(), mlir::Operation::getLoc(), mlir::Operation::getOperands(), mlir::Block::getTerminator(), indices, mlir::IRMapping::lookupOrDefault(), mlir::IRMapping::map(), success(), and mlir::Block::without_terminator().
|
static |
Variadic helper function.
Definition at line 1399 of file TilingInterfaceImpl.cpp.
References mlir::linalg::registerOne().
|
static |
Definition at line 1391 of file TilingInterfaceImpl.cpp.