|
MLIR-AIE
|
#include "aie/Dialect/AIE/IR/AIEDialect.h"#include "aie/Dialect/AIE/Transforms/AIEPasses.h"#include "mlir/IR/Attributes.h"
Include dependency graph for AIEAssignBuffers.cpp:Go to the source code of this file.
Classes | |
| struct | BankLimits |
| struct | AIEAssignBufferAddressesPass |
Macros | |
| #define | DEBUG_TYPE "aie-assign-buffers" |
Typedefs | |
| typedef struct BankLimits | BankLimits |
Functions | |
| bool | checkAndPrintOverflow (TileOp tile, int address, int maxDataMemorySize, int stacksize, SmallVector< BufferOp > &buffers) |
| bool | basicAllocation (TileOp tile) |
| void | fillBankLimits (int numBanks, int bankSize, std::vector< BankLimits > &bankLimits) |
| void | setAndUpdateAddressInBank (BufferOp buffer, int64_t start_addr, int64_t end_addr, std::vector< int64_t > &nextAddrInBanks) |
| FailureOr< bool > | checkAndAddBufferWithAddress (BufferOp buffer, int numBanks, std::vector< int64_t > &nextAddrInBanks, std::vector< BankLimits > &bankLimits) |
| FailureOr< bool > | checkAndAddBufferWithMemBank (BufferOp buffer, int numBanks, std::vector< int64_t > &nextAddrInBanks, std::vector< BankLimits > &bankLimits) |
| void | printMemMap (TileOp tile, SmallVector< BufferOp > &allocatedBuffers, SmallVector< BufferOp > &preAllocatedBuffers, int numBanks, std::vector< BankLimits > &bankLimits, int stacksize) |
| int | setBufferAddress (BufferOp buffer, int numBanks, int &startBankIndex, std::vector< int64_t > &nextAddrInBanks, std::vector< BankLimits > &bankLimits) |
| bool | checkAndPrintOverflow (TileOp tile, int numBanks, int stacksize, SmallVector< BufferOp > &allBuffers, std::vector< int64_t > &nextAddrInBanks, std::vector< BankLimits > &bankLimits) |
| void | deAllocationBuffers (SmallVector< BufferOp > &buffers) |
| bool | simpleBankAwareAllocation (TileOp tile) |
| LogicalResult | checkBufferScope (BufferOp buffer, DeviceOp device) |
| #define DEBUG_TYPE "aie-assign-buffers" |
Definition at line 16 of file AIEAssignBuffers.cpp.
| typedef struct BankLimits BankLimits |
| bool basicAllocation | ( | TileOp | tile | ) |
Definition at line 54 of file AIEAssignBuffers.cpp.
References checkAndPrintOverflow(), and xilinx::AIE::getTargetModel().
Referenced by AIEAssignBufferAddressesPass::runOnOperation().
| FailureOr< bool > checkAndAddBufferWithAddress | ( | BufferOp | buffer, |
| int | numBanks, | ||
| std::vector< int64_t > & | nextAddrInBanks, | ||
| std::vector< BankLimits > & | bankLimits | ||
| ) |
Definition at line 166 of file AIEAssignBuffers.cpp.
Referenced by simpleBankAwareAllocation().
| FailureOr< bool > checkAndAddBufferWithMemBank | ( | BufferOp | buffer, |
| int | numBanks, | ||
| std::vector< int64_t > & | nextAddrInBanks, | ||
| std::vector< BankLimits > & | bankLimits | ||
| ) |
Definition at line 197 of file AIEAssignBuffers.cpp.
References setAndUpdateAddressInBank().
Referenced by simpleBankAwareAllocation().
| bool checkAndPrintOverflow | ( | TileOp | tile, |
| int | address, | ||
| int | maxDataMemorySize, | ||
| int | stacksize, | ||
| SmallVector< BufferOp > & | buffers | ||
| ) |
Definition at line 25 of file AIEAssignBuffers.cpp.
Referenced by basicAllocation(), and simpleBankAwareAllocation().
| bool checkAndPrintOverflow | ( | TileOp | tile, |
| int | numBanks, | ||
| int | stacksize, | ||
| SmallVector< BufferOp > & | allBuffers, | ||
| std::vector< int64_t > & | nextAddrInBanks, | ||
| std::vector< BankLimits > & | bankLimits | ||
| ) |
Definition at line 294 of file AIEAssignBuffers.cpp.
| LogicalResult checkBufferScope | ( | BufferOp | buffer, |
| DeviceOp | device | ||
| ) |
Definition at line 453 of file AIEAssignBuffers.cpp.
Referenced by AIEAssignBufferAddressesPass::runOnOperation().
| void deAllocationBuffers | ( | SmallVector< BufferOp > & | buffers | ) |
Definition at line 345 of file AIEAssignBuffers.cpp.
Referenced by simpleBankAwareAllocation().
| void fillBankLimits | ( | int | numBanks, |
| int | bankSize, | ||
| std::vector< BankLimits > & | bankLimits | ||
| ) |
Definition at line 139 of file AIEAssignBuffers.cpp.
Referenced by simpleBankAwareAllocation().
| void printMemMap | ( | TileOp | tile, |
| SmallVector< BufferOp > & | allocatedBuffers, | ||
| SmallVector< BufferOp > & | preAllocatedBuffers, | ||
| int | numBanks, | ||
| std::vector< BankLimits > & | bankLimits, | ||
| int | stacksize | ||
| ) |
Definition at line 214 of file AIEAssignBuffers.cpp.
Referenced by simpleBankAwareAllocation().
| void setAndUpdateAddressInBank | ( | BufferOp | buffer, |
| int64_t | start_addr, | ||
| int64_t | end_addr, | ||
| std::vector< int64_t > & | nextAddrInBanks | ||
| ) |
Definition at line 151 of file AIEAssignBuffers.cpp.
Referenced by checkAndAddBufferWithMemBank(), and setBufferAddress().
| int setBufferAddress | ( | BufferOp | buffer, |
| int | numBanks, | ||
| int & | startBankIndex, | ||
| std::vector< int64_t > & | nextAddrInBanks, | ||
| std::vector< BankLimits > & | bankLimits | ||
| ) |
Definition at line 263 of file AIEAssignBuffers.cpp.
References setAndUpdateAddressInBank().
Referenced by simpleBankAwareAllocation().
| bool simpleBankAwareAllocation | ( | TileOp | tile | ) |
Definition at line 352 of file AIEAssignBuffers.cpp.
References checkAndAddBufferWithAddress(), checkAndAddBufferWithMemBank(), checkAndPrintOverflow(), deAllocationBuffers(), fillBankLimits(), xilinx::AIE::getTargetModel(), printMemMap(), and setBufferAddress().
Referenced by AIEAssignBufferAddressesPass::runOnOperation().