CIRCT 20.0.0git
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
BankAffineStorePattern Struct Reference
Inheritance diagram for BankAffineStorePattern:
Inheritance graph
[legend]
Collaboration diagram for BankAffineStorePattern:
Collaboration graph
[legend]

Public Member Functions

 BankAffineStorePattern (MLIRContext *context, uint64_t bankingFactor, std::optional< int > bankingDimensionOpt, DenseMap< Value, SmallVector< Value > > &memoryToBanks, DenseSet< Operation * > &opsToErase, DenseSet< Operation * > &processedOps, DenseSet< Value > &oldMemRefVals)
 
LogicalResult matchAndRewrite (mlir::affine::AffineStoreOp storeOp, PatternRewriter &rewriter) const override
 

Private Attributes

unsigned bankingFactor
 
std::optional< int > bankingDimensionOpt
 
DenseMap< Value, SmallVector< Value > > & memoryToBanks
 
DenseSet< Operation * > & opsToErase
 
DenseSet< Operation * > & processedOps
 
DenseSet< Value > & oldMemRefVals
 

Detailed Description

Definition at line 490 of file MemoryBanking.cpp.

Constructor & Destructor Documentation

◆ BankAffineStorePattern()

BankAffineStorePattern::BankAffineStorePattern ( MLIRContext *  context,
uint64_t  bankingFactor,
std::optional< int >  bankingDimensionOpt,
DenseMap< Value, SmallVector< Value > > &  memoryToBanks,
DenseSet< Operation * > &  opsToErase,
DenseSet< Operation * > &  processedOps,
DenseSet< Value > &  oldMemRefVals 
)
inline

Definition at line 492 of file MemoryBanking.cpp.

Member Function Documentation

◆ matchAndRewrite()

LogicalResult BankAffineStorePattern::matchAndRewrite ( mlir::affine::AffineStoreOp  storeOp,
PatternRewriter &  rewriter 
) const
inlineoverride

Member Data Documentation

◆ bankingDimensionOpt

std::optional<int> BankAffineStorePattern::bankingDimensionOpt
mutableprivate

Definition at line 572 of file MemoryBanking.cpp.

Referenced by matchAndRewrite().

◆ bankingFactor

unsigned BankAffineStorePattern::bankingFactor
mutableprivate

Definition at line 571 of file MemoryBanking.cpp.

Referenced by matchAndRewrite().

◆ memoryToBanks

DenseMap<Value, SmallVector<Value> >& BankAffineStorePattern::memoryToBanks
private

Definition at line 573 of file MemoryBanking.cpp.

Referenced by matchAndRewrite().

◆ oldMemRefVals

DenseSet<Value>& BankAffineStorePattern::oldMemRefVals
private

Definition at line 576 of file MemoryBanking.cpp.

Referenced by matchAndRewrite().

◆ opsToErase

DenseSet<Operation *>& BankAffineStorePattern::opsToErase
private

Definition at line 574 of file MemoryBanking.cpp.

Referenced by matchAndRewrite().

◆ processedOps

DenseSet<Operation *>& BankAffineStorePattern::processedOps
private

Definition at line 575 of file MemoryBanking.cpp.

Referenced by matchAndRewrite().


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