CIRCT 24.0.0git
Loading...
Searching...
No Matches
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:
Collaboration diagram for AffineStoreLowering:

Public Member Functions

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

Private Attributes

MemoryDependenceAnalysis & dependenceAnalysis

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 189 of file AffineToLoopSchedule.cpp.

Constructor & Destructor Documentation

◆ AffineStoreLowering()

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

Definition at line 191 of file AffineToLoopSchedule.cpp.

References context, and dependenceAnalysis.

Member Function Documentation

◆ matchAndRewrite()

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

Definition at line 196 of file AffineToLoopSchedule.cpp.

References dependenceAnalysis, failure(), and success().

Member Data Documentation

◆ dependenceAnalysis

MemoryDependenceAnalysis& AffineStoreLowering::dependenceAnalysis
private

Definition at line 215 of file AffineToLoopSchedule.cpp.

Referenced by AffineStoreLowering(), and matchAndRewrite().


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