MLIR  20.0.0git
Namespaces | Functions
Transforms.h File Reference
#include "mlir/Support/LLVM.h"
#include "llvm/ADT/STLFunctionalExtras.h"

Go to the source code of this file.

Namespaces

 mlir
 Include the generated interface declarations.
 
 mlir::arith
 
 mlir::memref
 

Functions

void mlir::memref::populateExpandOpsPatterns (RewritePatternSet &patterns)
 Collects a set of patterns to rewrite ops within the memref dialect. More...
 
void mlir::memref::populateFoldMemRefAliasOpPatterns (RewritePatternSet &patterns)
 Appends patterns for folding memref aliasing ops into consumer load/store ops into patterns. More...
 
void mlir::memref::populateResolveRankedShapedTypeResultDimsPatterns (RewritePatternSet &patterns)
 Appends patterns that resolve memref.dim operations with values that are defined by operations that implement the ReifyRankedShapedTypeOpInterface, in terms of shapes of its input operands. More...
 
void mlir::memref::populateResolveShapedTypeResultDimsPatterns (RewritePatternSet &patterns)
 Appends patterns that resolve memref.dim operations with values that are defined by operations that implement the InferShapedTypeOpInterface, in terms of shapes of its input operands. More...
 
void mlir::memref::populateExpandStridedMetadataPatterns (RewritePatternSet &patterns)
 Appends patterns for expanding memref operations that modify the metadata (sizes, offset, strides) of a memref into easier to analyze constructs. More...
 
void mlir::memref::populateResolveExtractStridedMetadataPatterns (RewritePatternSet &patterns)
 Appends patterns for resolving memref.extract_strided_metadata into memref.extract_strided_metadata of its source. More...
 
void mlir::memref::populateExpandReallocPatterns (RewritePatternSet &patterns, bool emitDeallocs=true)
 Appends patterns for expanding memref.realloc operations. More...
 
void mlir::memref::populateMemRefWideIntEmulationPatterns (const arith::WideIntEmulationConverter &typeConverter, RewritePatternSet &patterns)
 Appends patterns for emulating wide integer memref operations with ops over narrower integer types. More...
 
void mlir::memref::populateMemRefWideIntEmulationConversions (arith::WideIntEmulationConverter &typeConverter)
 Appends type conversions for emulating wide integer memref operations with ops over narrowe integer types. More...
 
void mlir::memref::populateMemRefNarrowTypeEmulationPatterns (const arith::NarrowTypeEmulationConverter &typeConverter, RewritePatternSet &patterns)
 Appends patterns for emulating memref operations over narrow types with ops over wider types. More...
 
void mlir::memref::populateMemRefNarrowTypeEmulationConversions (arith::NarrowTypeEmulationConverter &typeConverter)
 Appends type conversions for emulating memref operations over narrow types with ops over wider types. More...
 
FailureOr< memref::AllocOp > mlir::memref::multiBuffer (RewriterBase &rewriter, memref::AllocOp allocOp, unsigned multiplier, bool skipOverrideAnalysis=false)
 Transformation to do multi-buffering/array expansion to remove dependencies on the temporary allocation between consecutive loop iterations. More...
 
FailureOr< memref::AllocOp > mlir::memref::multiBuffer (memref::AllocOp allocOp, unsigned multiplier, bool skipOverrideAnalysis=false)
 Call into multiBuffer with locally constructed IRRewriter. More...
 
void mlir::memref::populateExtractAddressComputationsPatterns (RewritePatternSet &patterns)
 Appends patterns for extracting address computations from the instructions with memory accesses such that these memory accesses use only a base pointer. More...
 
FailureOr< Value > mlir::memref::buildIndependentOp (OpBuilder &b, AllocaOp allocaOp, ValueRange independencies)
 Build a new memref::AllocaOp whose dynamic sizes are independent of all given independencies. More...
 
FailureOr< Valuemlir::memref::replaceWithIndependentOp (RewriterBase &rewriter, memref::AllocaOp allocaOp, ValueRange independencies)
 Build a new memref::AllocaOp whose dynamic sizes are independent of all given independencies. More...
 
memref::AllocaOp mlir::memref::allocToAlloca (RewriterBase &rewriter, memref::AllocOp alloc, function_ref< bool(memref::AllocOp, memref::DeallocOp)> filter=nullptr)
 Replaces the given alloc with the corresponding alloca and returns it if the following conditions are met: More...