CIRCT
20.0.0git
|
#include "circt/Support/LLVM.h"
#include "circt/Transforms/Passes.h"
#include "mlir/Dialect/Affine/IR/AffineOps.h"
#include "mlir/Dialect/Func/IR/FuncOps.h"
#include "mlir/Dialect/MemRef/IR/MemRef.h"
#include "mlir/Dialect/SCF/IR/SCF.h"
#include "mlir/IR/AffineExpr.h"
#include "mlir/IR/AffineMap.h"
#include "mlir/IR/OperationSupport.h"
#include "mlir/Pass/Pass.h"
#include "mlir/Support/LLVM.h"
#include "mlir/Transforms/DialectConversion.h"
#include "mlir/Transforms/GreedyPatternRewriteDriver.h"
#include "llvm/ADT/TypeSwitch.h"
#include "llvm/Support/raw_ostream.h"
#include "circt/Transforms/Passes.h.inc"
Go to the source code of this file.
Classes | |
struct | BankAffineLoadPattern |
struct | BankAffineStorePattern |
struct | BankReturnPattern |
Namespaces | |
circt | |
The InstanceGraph op interface, see InstanceGraphInterface.td for more details. | |
Macros | |
#define | GEN_PASS_DEF_MEMORYBANKING |
Functions | |
DenseSet< Value > | collectMemRefs (mlir::affine::AffineParallelOp parOp) |
MemRefType | computeBankedMemRefType (MemRefType originalType, uint64_t bankingFactor) |
SmallVector< Value, 4 > | createBanks (Value originalMem, uint64_t bankingFactor) |
LogicalResult | cleanUpOldMemRefs (DenseSet< Value > &oldMemRefVals, DenseSet< Operation * > &opsToErase) |
std::unique_ptr< mlir::Pass > | circt::createMemoryBankingPass (std::optional< unsigned > bankingFactor=std::nullopt) |
#define GEN_PASS_DEF_MEMORYBANKING |
Definition at line 30 of file MemoryBanking.cpp.
LogicalResult cleanUpOldMemRefs | ( | DenseSet< Value > & | oldMemRefVals, |
DenseSet< Operation * > & | opsToErase | ||
) |
Definition at line 307 of file MemoryBanking.cpp.
References assert(), and circt::calyx::direction::get().
DenseSet<Value> collectMemRefs | ( | mlir::affine::AffineParallelOp | parOp | ) |
Definition at line 57 of file MemoryBanking.cpp.
MemRefType computeBankedMemRefType | ( | MemRefType | originalType, |
uint64_t | bankingFactor | ||
) |
Definition at line 69 of file MemoryBanking.cpp.
References assert(), and circt::calyx::direction::get().
Referenced by createBanks().
SmallVector<Value, 4> createBanks | ( | Value | originalMem, |
uint64_t | bankingFactor | ||
) |
Definition at line 86 of file MemoryBanking.cpp.
References computeBankedMemRefType().