CIRCT 24.0.0git
Loading...
Searching...
No Matches
AffineLoadLowering Class Reference

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

Inheritance diagram for AffineLoadLowering:
Collaboration diagram for AffineLoadLowering:

Public Member Functions

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

Private Attributes

MemoryDependenceAnalysis & dependenceAnalysis

Detailed Description

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

Constructor & Destructor Documentation

◆ AffineLoadLowering()

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

Definition at line 157 of file AffineToLoopSchedule.cpp.

References context, and dependenceAnalysis.

Member Function Documentation

◆ matchAndRewrite()

LogicalResult AffineLoadLowering::matchAndRewrite ( AffineLoadOp op,
OpAdaptor adaptor,
ConversionPatternRewriter & rewriter ) const
inlineoverride

Definition at line 162 of file AffineToLoopSchedule.cpp.

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

Member Data Documentation

◆ dependenceAnalysis

MemoryDependenceAnalysis& AffineLoadLowering::dependenceAnalysis
private

Definition at line 181 of file AffineToLoopSchedule.cpp.

Referenced by AffineLoadLowering(), and matchAndRewrite().


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