MLIR  17.0.0git
Namespaces | Functions
Transforms.h File Reference
#include "mlir/Dialect/Tensor/IR/Tensor.h"
#include "mlir/IR/PatternMatch.h"
+ Include dependency graph for Transforms.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 mlir
 This header declares functions that assit transformations in the MemRef dialect.
 
 mlir::tensor
 

Functions

FailureOr< TilingResultmlir::tensor::replaceExtractSliceWithTiledProducer (OpBuilder &builder, tensor::ExtractSliceOp sliceOp, OpResult producerOp)
 Pattern to swap an tensor.extract_slice with its producer when the producer implements the TilingInterface. More...
 
void mlir::tensor::populateExpandOpsPatterns (RewritePatternSet &patterns)
 Collects a set of patterns to rewrite ops within the tensor dialect. More...
 
void mlir::tensor::populateFoldTensorSubsetOpPatterns (RewritePatternSet &patterns)
 Appends patterns for folding tensor aliasing ops into consumer load/store ops into patterns. More...
 
void mlir::tensor::populateSplitPaddingPatterns (RewritePatternSet &patterns, PatternBenefit baseBenefit=1)
 Populates patterns with patterns to wrap a tensor.pad op with an scf.if op to separate the cases where we don't need padding (all pad sizes are actually zeros) and where we indeed need padding. More...
 
void mlir::tensor::populateMergeConsecutiveInsertExtractSlicePatterns (RewritePatternSet &patterns)
 Collects patterns to merge consecutive tensor.insert_slice/extract_slice into one. More...
 
void mlir::tensor::populateReassociativeReshapeFoldingPatterns (RewritePatternSet &patterns)
 Populates patterns with patterns that fold tensor.expand_shape and tensor.collapse_shape into other ops. More...
 
void mlir::tensor::populateFoldTensorEmptyPatterns (RewritePatternSet &patterns)
 Populates patterns with patterns that fold tensor.empty with tensor. More...
 
void mlir::tensor::populateFoldIntoPackAndUnpackPatterns (RewritePatternSet &patterns)
 Populates patterns with patterns that fold operations like tensor.pad and tensor.extract_slice into tensor.pack and tensor.unpack operations respectively. More...