8#ifndef AIETargetShared_XAIEV2_CDO_H
9#define AIETargetShared_XAIEV2_CDO_H
14#include "llvm/ADT/SmallPtrSet.h"
19std::string
tileLocStr(llvm::StringRef col, llvm::StringRef row);
24 llvm::StringRef bdNum);
29 llvm::StringRef bdNum);
33std::string
packetStr(llvm::StringRef
id, llvm::StringRef type);
38 llvm::ArrayRef<BDDimLayoutAttr> dims,
39 int col,
int row,
int bdNum,
int baseAddrA,
40 int64_t offsetA, uint32_t lenA,
41 int elementWidthInBytes,
42 const char *errorRet);
48llvm::SmallPtrSet<mlir::Block *, 8>
58std::optional<std::vector<char>>
77 llvm::ArrayRef<BufferOp> buffers,
llvm::SmallPtrSet< mlir::Block *, 8 > collectOutOfOrderBlocks(const llvm::SetVector< mlir::Block * > &blockVector)
Collect every BD block reached from an out-of-order aie.dma_start channel.
std::string tileDMAInstStr(llvm::StringRef col, llvm::StringRef row, llvm::StringRef bdNum)
llvm::SmallVector< MemoryRun > coreBankRegions(TileOp tile, llvm::ArrayRef< BufferOp > buffers, MemoryRun dataRun)
One extent per memory bank for the core's bank-pinned statics, tile-relative and indexed by bank.
void generateXAieDmaSetMultiDimAddr(llvm::raw_ostream &output, int ndims, llvm::ArrayRef< BDDimLayoutAttr > dims, int col, int row, int bdNum, int baseAddrA, int64_t offsetA, uint32_t lenA, int elementWidthInBytes, const char *errorRet)
std::optional< std::vector< char > > denseAttrToBytes(mlir::DenseElementsAttr denseInit)
A buffer's initial_value as the bytes to write to its tile memory, in element order.
MemoryRun coreDataRegion(TileOp tile, llvm::ArrayRef< BufferOp > buffers)
The extent the core compiler gets for its own .data, .rodata and .bss, tile-relative.
std::string tileDMAInstRefStr(llvm::StringRef col, llvm::StringRef row, llvm::StringRef bdNum)
llvm::SetVector< mlir::Block * > getOrderedChainOfBlocks(mlir::Region *region)
std::string tileLocStr(llvm::StringRef col, llvm::StringRef row)
std::string packetStr(llvm::StringRef id, llvm::StringRef type)