CIRCT  20.0.0git
Public Member Functions | Private Attributes | List of all members
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:
Inheritance graph
[legend]
Collaboration diagram for AffineLoadLowering:
Collaboration graph
[legend]

Public Member Functions

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

Private Attributes

MemoryDependenceAnalysisdependenceAnalysis
 

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

Constructor & Destructor Documentation

◆ AffineLoadLowering()

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

Definition at line 154 of file AffineToLoopSchedule.cpp.

Member Function Documentation

◆ matchAndRewrite()

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

Definition at line 159 of file AffineToLoopSchedule.cpp.

Member Data Documentation

◆ dependenceAnalysis

MemoryDependenceAnalysis& AffineLoadLowering::dependenceAnalysis
private

Definition at line 178 of file AffineToLoopSchedule.cpp.


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