[Mlir-commits] [mlir] [mlir][affine] Add pass --affine-raise-from-memref (PR #114032)
Oleksandr Alex Zinenko
llvmlistbot at llvm.org
Fri Nov 29 02:06:09 PST 2024
================
@@ -397,6 +397,18 @@ def LoopCoalescing : Pass<"affine-loop-coalescing", "func::FuncOp"> {
let dependentDialects = ["affine::AffineDialect","arith::ArithDialect"];
}
+def RaiseMemrefDialect : Pass<"affine-raise-from-memref", "func::FuncOp"> {
+ let summary = "Turn some memref operators to affine operators where supported";
+ let description = [{
+ Raise memref.load and memref.store to affine.store and affine.load, inferring
+ the affine map of those operators if needed. This allows passes like --affine-scalrep
+ to optimize those loads and stores (forwarding them or eliminating them).
+ They can be turned back to memref dialect ops with --lower-affine.
+ }];
+ let constructor = "mlir::affine::createRaiseMemrefToAffine()";
+ let dependentDialects = ["memref::MemRefDialect"];
----------------
ftynse wrote:
You most likely need `AffineDialect` here. This is the list of dialects that are _produced_ by the pass if they are not already present in the input. The memref dialect will be present... (Admittedly, the name is confusing).
https://github.com/llvm/llvm-project/pull/114032
More information about the Mlir-commits
mailing list