MLIR  17.0.0git
Classes | Namespaces | Typedefs | Functions
TileUsingInterface.h File Reference
#include "mlir/Dialect/SCF/IR/SCF.h"
#include "mlir/Dialect/Tensor/Transforms/Transforms.h"
#include "mlir/IR/PatternMatch.h"
#include "mlir/Interfaces/TilingInterface.h"
#include <deque>
+ Include dependency graph for TileUsingInterface.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


struct  mlir::scf::SCFTilingOptions
 Options to use to control tiling. More...
struct  mlir::scf::SCFTilingResult
 Transformation information returned after tiling. More...
struct  mlir::scf::SCFTileAndFuseOptions
 Options used to control tile + fuse. More...
struct  mlir::scf::SCFFuseProducerOfSliceResult
 Fuse the producer of the source of candidateSliceOp by computing the required slice of the producer in-place. More...
struct  mlir::scf::SCFTileAndFuseResult
 Transformation information returned after tile and fuse. More...
struct  mlir::scf::SCFReductionTilingResult
 Transformation information returned after reduction tiling. More...


 Include the generated interface declarations.


using mlir::scf::SCFTileSizeComputationFunction = std::function< SmallVector< Value >(OpBuilder &, Operation *)>


FailureOr< SCFTilingResult > mlir::scf::tileUsingSCFForOp (RewriterBase &rewriter, TilingInterface op, const SCFTilingOptions &options)
 Method to tile an op that implements the TilingInterface using scf.for for iterating over the tiles. More...
std::optional< SCFFuseProducerOfSliceResult > mlir::scf::tileAndFuseProducerOfSlice (RewriterBase &rewriter, tensor::ExtractSliceOp candidateSliceOp, MutableArrayRef< scf::ForOp > loops)
 Implementation of fusing producer of a single slice by computing the slice of the producer in-place. More...
void mlir::scf::yieldReplacementForFusedProducer (RewriterBase &rewriter, tensor::ExtractSliceOp sliceOp, scf::SCFFuseProducerOfSliceResult fusedProducerInfo, MutableArrayRef< scf::ForOp > loops)
 Reconstruct the fused producer from within the tiled-and-fused code. More...
FailureOr< SCFTileAndFuseResult > mlir::scf::tileConsumerAndFuseProducerGreedilyUsingSCFForOp (RewriterBase &rewriter, TilingInterface consumer, const SCFTileAndFuseOptions &options)
 Method to tile and fuse a sequence of operations, by tiling the consumer and fusing its producers. More...
FailureOr< SmallVector< scf::ForOp > > mlir::scf::lowerToLoopsUsingSCFForOp (RewriterBase &rewriter, TilingInterface op)
 Method to lower an op that implements the TilingInterface to loops/scalars. More...
FailureOr< scf::SCFReductionTilingResultmlir::scf::tileReductionUsingScf (PatternRewriter &b, PartialReductionOpInterface op, ArrayRef< OpFoldResult > tileSize)
 Method to tile a reduction and generate a parallel op within a serial loop. More...