MLIR  20.0.0git
Functions
Split.cpp File Reference
#include "mlir/Dialect/Affine/IR/AffineOps.h"
#include "mlir/Dialect/Linalg/Transforms/Transforms.h"
#include "mlir/Dialect/Utils/StaticValueUtils.h"
#include "mlir/IR/AffineExpr.h"
#include "mlir/IR/Attributes.h"
#include "mlir/IR/BuiltinAttributes.h"
#include "mlir/IR/OpDefinition.h"
#include "mlir/Interfaces/TilingInterface.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"

Go to the source code of this file.

Functions

static TilingInterface createSplitPart (RewriterBase &b, Location loc, TilingInterface op, ArrayRef< OpFoldResult > offsets, ArrayRef< OpFoldResult > sizes, ValueRange resultOperands, unsigned dimension, OpFoldResult size, OpFoldResult offset, SmallVectorImpl< Value > &results)
 Creates a part of the given op split along the iteration space dimension with the given size and an optional offset (default 0). More...
 

Function Documentation

◆ createSplitPart()

static TilingInterface createSplitPart ( RewriterBase b,
Location  loc,
TilingInterface  op,
ArrayRef< OpFoldResult offsets,
ArrayRef< OpFoldResult sizes,
ValueRange  resultOperands,
unsigned  dimension,
OpFoldResult  size,
OpFoldResult  offset,
SmallVectorImpl< Value > &  results 
)
static

Creates a part of the given op split along the iteration space dimension with the given size and an optional offset (default 0).

Makes slices of operands, using the input operands of the original op and the output operands provided as resultOperands. Expects offsets and sizes to define the shape of the iteration space of the original op. Returns the split-out op as well as the output operand values updated with the partial results produced by this op through results.

Definition at line 32 of file Split.cpp.

References mlir::OpBuilder::create(), mlir::detail::enumerate(), and mlir::Builder::getIndexAttr().

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