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.

Classes

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...
 

Namespaces

 mlir
 Include the generated interface declarations.
 
 mlir::scf
 

Typedefs

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

Functions

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...