13 #ifndef MLIR_DIALECT_MEMREF_TRANSFORMS_PASSES_H
14 #define MLIR_DIALECT_MEMREF_TRANSFORMS_PASSES_H
24 class WideIntEmulationConverter;
103 unsigned multiplier);
109 #define GEN_PASS_DECL
110 #include "mlir/Dialect/MemRef/Transforms/Passes.h.inc"
145 #define GEN_PASS_REGISTRATION
146 #include "mlir/Dialect/MemRef/Transforms/Passes.h.inc"
This class provides support for representing a failure result, or a valid value of type T.
Converts integer types that are too wide for the target by splitting them in two halves and thus turn...
std::unique_ptr< Pass > createFoldMemRefAliasOpsPass()
Creates an operation pass to fold memref aliasing ops into consumer load/store ops into patterns.
void populateFoldMemRefAliasOpPatterns(RewritePatternSet &patterns)
Appends patterns for folding memref aliasing ops into consumer load/store ops into patterns.
FailureOr< memref::AllocOp > multiBuffer(memref::AllocOp allocOp, unsigned multiplier)
Transformation to do multi-buffering/array expansion to remove dependencies on the temporary allocati...
std::unique_ptr< Pass > createResolveShapedTypeResultDimsPass()
Creates an operation pass to resolve memref.dim operations with values that are defined by operations...
void populateResolveRankedShapeTypeResultDimsPatterns(RewritePatternSet &patterns)
Appends patterns that resolve memref.dim operations with values that are defined by operations that i...
std::unique_ptr< Pass > createExpandStridedMetadataPass()
Creates an operation pass to expand some memref operation into easier to reason about operations.
void populateMemRefWideIntEmulationPatterns(arith::WideIntEmulationConverter &typeConverter, RewritePatternSet &patterns)
Appends patterns for emulating wide integer memref operations with ops over narrower integer types.
void populateMemRefWideIntEmulationConversions(arith::WideIntEmulationConverter &typeConverter)
Appends type converions for emulating wide integer memref operations with ops over narrowe integer ty...
std::unique_ptr< Pass > createResolveRankedShapeTypeResultDimsPass()
Creates an operation pass to resolve memref.dim operations with values that are defined by operations...
std::unique_ptr< OperationPass< ModuleOp > > createNormalizeMemRefsPass()
Creates an interprocedural pass to normalize memrefs to have a trivial (identity) layout map.
std::unique_ptr< Pass > createExpandOpsPass()
Creates an instance of the ExpandOps pass that legalizes memref dialect ops to be convertible to LLVM...
void populateExpandOpsPatterns(RewritePatternSet &patterns)
Collects a set of patterns to rewrite ops within the memref dialect.
void populateResolveShapedTypeResultDimsPatterns(RewritePatternSet &patterns)
Appends patterns that resolve memref.dim operations with values that are defined by operations that i...
void populateExpandStridedMetadataPatterns(RewritePatternSet &patterns)
Appends patterns for expanding memref operations that modify the metadata (sizes, offset,...
Include the generated interface declarations.