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