|
MLIR-AIE 1.4.6.dev
|
Shim endpoint lifetimes, including calls to self-contained runtime sequences. More...
#include "aie/Dialect/AIE/Transforms/AIEShimSharing.h"
Classes | |
| struct | End |
| A shim end a runtime sequence transfers through. More... | |
Public Member Functions | |
| ShimTransferSpans (DeviceOp device, llvm::function_ref< std::optional< End >(mlir::StringAttr)> endOf) | |
| endOf maps a symbol a runtime sequence transfers through to the objectFIFO end it belongs to, or nothing when it belongs to none. | |
| ShimTransferSpans (mlir::ModuleOp module, llvm::function_ref< std::optional< End >(DeviceOp, mlir::StringAttr)> endOf) | |
| bool | apart (mlir::StringAttr a, mlir::StringAttr b) const |
| Whether both ends permit sharing, explicitly or by MM2S lifetime analysis. | |
| bool | isUsed (mlir::StringAttr end) const |
| llvm::SmallVector< llvm::SmallVector< unsigned > > | groups (llvm::ArrayRef< mlir::StringAttr > ends) const |
| Splits ends into groups whose members are pairwise apart, each group taking one channel: first fit, ordered by the ends' spans in flight. | |
Shim endpoint lifetimes, including calls to self-contained runtime sequences.
MM2S transfers conservatively remain live until their sequence returns.
Definition at line 26 of file AIEShimSharing.h.
| xilinx::AIE::ShimTransferSpans::ShimTransferSpans | ( | DeviceOp | device, |
| llvm::function_ref< std::optional< End >(mlir::StringAttr)> | endOf ) |
endOf maps a symbol a runtime sequence transfers through to the objectFIFO end it belongs to, or nothing when it belongs to none.
| xilinx::AIE::ShimTransferSpans::ShimTransferSpans | ( | mlir::ModuleOp | module, |
| llvm::function_ref< std::optional< End >(DeviceOp, mlir::StringAttr)> | endOf ) |
| bool ShimTransferSpans::apart | ( | mlir::StringAttr | a, |
| mlir::StringAttr | b ) const |
Whether both ends permit sharing, explicitly or by MM2S lifetime analysis.
Definition at line 277 of file AIEShimSharing.cpp.
References isUsed().
Referenced by groups().
| SmallVector< SmallVector< unsigned > > ShimTransferSpans::groups | ( | llvm::ArrayRef< mlir::StringAttr > | ends | ) | const |
Splits ends into groups whose members are pairwise apart, each group taking one channel: first fit, ordered by the ends' spans in flight.
Returns indices into ends.
Definition at line 288 of file AIEShimSharing.cpp.
References apart().
| bool ShimTransferSpans::isUsed | ( | mlir::StringAttr | end | ) | const |
Definition at line 273 of file AIEShimSharing.cpp.
Referenced by apart().