CIRCT  20.0.0git
Public Member Functions | Private Attributes | List of all members
AffineStoreLowering Class Reference

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...

Inheritance diagram for AffineStoreLowering:
Inheritance graph
[legend]
Collaboration diagram for AffineStoreLowering:
Collaboration graph
[legend]

Public Member Functions

 AffineStoreLowering (MLIRContext *context, MemoryDependenceAnalysis &dependenceAnalysis)
 
LogicalResult matchAndRewrite (AffineStoreOp op, OpAdaptor adaptor, ConversionPatternRewriter &rewriter) const override
 

Private Attributes

MemoryDependenceAnalysisdependenceAnalysis
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ AffineStoreLowering()

AffineStoreLowering::AffineStoreLowering ( MLIRContext *  context,
MemoryDependenceAnalysis dependenceAnalysis 
)
inline

Definition at line 188 of file AffineToLoopSchedule.cpp.

Member Function Documentation

◆ matchAndRewrite()

LogicalResult AffineStoreLowering::matchAndRewrite ( AffineStoreOp  op,
OpAdaptor  adaptor,
ConversionPatternRewriter &  rewriter 
) const
inlineoverride

Definition at line 193 of file AffineToLoopSchedule.cpp.

Member Data Documentation

◆ dependenceAnalysis

MemoryDependenceAnalysis& AffineStoreLowering::dependenceAnalysis
private

Definition at line 212 of file AffineToLoopSchedule.cpp.


The documentation for this class was generated from the following file: