|
MLIR-AIE
|
#include "aie/Dialect/AIEVec/Transforms/IntervalReuse.h"
Public Member Functions | |
| bool | potentialReuse (mlir::vector::TransferReadOp readOp, mlir::AffineExpr invariantBase, llvm::DenseMap< mlir::Block *, llvm::SmallVector< mlir::Operation *, 8 > > &blockToEnclosingLoops) |
| void | insertInterval (mlir::vector::TransferReadOp readOp, llvm::DenseMap< mlir::Operation *, IntervalReuse * > &dataAccessToIntervalMap, int32_t offset, int32_t forLoopStepSize, bool isSplat=false, unsigned minVecSize=128) |
| int32_t | getIntervalWidth (mlir::Operation *op) |
| std::pair< int32_t, int32_t > | getAccessExtent (mlir::Operation *op) |
| void | setAccessExtent (mlir::Operation *op, std::pair< int32_t, int32_t > &extent) |
| std::pair< int32_t, int32_t > | getInterval (mlir::Operation *op) |
| void | markLHSOperandVec (mlir::Operation *op) |
| void | coalesceIntervals () |
| IntervalReuse (mlir::vector::TransferReadOp readOp, mlir::AffineExpr b) | |
| IntervalReuse () | |
Definition at line 73 of file IntervalReuse.h.
|
inline |
Definition at line 139 of file IntervalReuse.h.
|
inline |
Definition at line 141 of file IntervalReuse.h.
| void IntervalReuse::coalesceIntervals | ( | ) |
Definition at line 247 of file IntervalReuse.cpp.
| std::pair< int32_t, int32_t > IntervalReuse::getAccessExtent | ( | mlir::Operation * | op | ) |
Definition at line 76 of file IntervalReuse.cpp.
| std::pair< int32_t, int32_t > IntervalReuse::getInterval | ( | mlir::Operation * | op | ) |
Definition at line 93 of file IntervalReuse.cpp.
Referenced by computeStartInAIEVec(), and getIntervalWidth().
| int32_t IntervalReuse::getIntervalWidth | ( | mlir::Operation * | op | ) |
Definition at line 115 of file IntervalReuse.cpp.
References getInterval().
| void IntervalReuse::insertInterval | ( | mlir::vector::TransferReadOp | readOp, |
| llvm::DenseMap< mlir::Operation *, IntervalReuse * > & | dataAccessToIntervalMap, | ||
| int32_t | offset, | ||
| int32_t | forLoopStepSize, | ||
| bool | isSplat = false, |
||
| unsigned | minVecSize = 128 |
||
| ) |
Definition at line 165 of file IntervalReuse.cpp.
| void IntervalReuse::markLHSOperandVec | ( | mlir::Operation * | op | ) |
Definition at line 101 of file IntervalReuse.cpp.
| bool IntervalReuse::potentialReuse | ( | mlir::vector::TransferReadOp | readOp, |
| mlir::AffineExpr | invariantBase, | ||
| llvm::DenseMap< mlir::Block *, llvm::SmallVector< mlir::Operation *, 8 > > & | blockToEnclosingLoops | ||
| ) |
Definition at line 124 of file IntervalReuse.cpp.
| void IntervalReuse::setAccessExtent | ( | mlir::Operation * | op, |
| std::pair< int32_t, int32_t > & | extent | ||
| ) |
Definition at line 84 of file IntervalReuse.cpp.