CIRCT 20.0.0git
|
Apply the affine map from an 'affine.store' operation to its operands, and feed the results to a newly created 'memref.store' operation (which replaces the original 'affine.store'). More...
Public Member Functions | |
AffineStoreLowering (MLIRContext *context, MemoryDependenceAnalysis &dependenceAnalysis) | |
LogicalResult | matchAndRewrite (AffineStoreOp op, OpAdaptor adaptor, ConversionPatternRewriter &rewriter) const override |
Private Attributes | |
MemoryDependenceAnalysis & | dependenceAnalysis |
Apply the affine map from an 'affine.store' operation to its operands, and feed the results to a newly created 'memref.store' operation (which replaces the original 'affine.store').
Also replaces the affine store with the memref store in dependenceAnalysis. TODO(mikeurbach): this is copied from AffineToStandard, see if we can reuse.
Definition at line 186 of file AffineToLoopSchedule.cpp.
|
inline |
Definition at line 188 of file AffineToLoopSchedule.cpp.
|
inlineoverride |
Definition at line 193 of file AffineToLoopSchedule.cpp.
References dependenceAnalysis, and circt::analysis::MemoryDependenceAnalysis::replaceOp().
|
private |
Definition at line 212 of file AffineToLoopSchedule.cpp.
Referenced by matchAndRewrite().