MLIR  19.0.0git
Macros | Functions
TilingInterfaceImpl.cpp File Reference
#include "mlir/Dialect/Linalg/Transforms/TilingInterfaceImpl.h"
#include "mlir/Analysis/SliceAnalysis.h"
#include "mlir/Dialect/Affine/IR/AffineOps.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/StaticValueUtils.h"
#include "mlir/Interfaces/TilingInterface.h"
#include <optional>
#include "mlir/Dialect/Linalg/IR/LinalgStructuredOps.cpp.inc"

Go to the source code of this file.

Macros

#define GET_OP_LIST
 

Functions

static SmallVector< ValuegetIndicesForAccess (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. More...
 
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. More...
 
template<typename OpType >
static void registerOne (MLIRContext *ctx)
 
template<typename... OpTypes>
static void registerAll (MLIRContext *ctx)
 Variadic helper function. More...
 

Macro Definition Documentation

◆ GET_OP_LIST

#define GET_OP_LIST

Definition at line 418 of file TilingInterfaceImpl.cpp.

Function Documentation

◆ getIndicesForAccess()

static SmallVector<Value> getIndicesForAccess ( OpBuilder b,
Location  loc,
AffineMap  indexingMap,
ValueRange  ivs 
)
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 32 of file TilingInterfaceImpl.cpp.

References mlir::OpBuilder::create(), mlir::AffineMap::get(), mlir::AffineMap::getNumDims(), mlir::AffineMap::getNumResults(), mlir::AffineMap::getNumSymbols(), and mlir::AffineMap::getResults().

◆ inlinePayload()

static LogicalResult inlinePayload ( OpBuilder b,
LinalgOp  linalgOp,
ValueRange  ivs,
ValueRange  argValues 
)
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 48 of file TilingInterfaceImpl.cpp.

References mlir::Block::getArguments(), and mlir::IRMapping::map().

◆ registerAll()

template<typename... OpTypes>
static void registerAll ( MLIRContext ctx)
static

Variadic helper function.

Definition at line 414 of file TilingInterfaceImpl.cpp.

Referenced by mlir::linalg::registerTilingInterfaceExternalModels().

◆ registerOne()

template<typename OpType >
static void registerOne ( MLIRContext ctx)
static

Definition at line 406 of file TilingInterfaceImpl.cpp.