|
| std::optional< DmaQueueModel::ChannelKey > | xilinx::AIEX::syncChannelKey (NpuSyncOp sync) |
| | The channel an aiex.npu.sync retires on, or nullopt when it cannot be pinned down.
|
| void | xilinx::AIEX::awaitSync (DmaQueueModel &queue, NpuSyncOp sync) |
| | Retire what an aiex.npu.sync proves has drained.
|
| mlir::InFlightDiagnostic | xilinx::AIEX::emitQueueOverflowWarning (mlir::Operation *op, int col, int row, AIE::DMAChannelDir dir, uint32_t channel, uint32_t depth, size_t outstanding) |
| | Shared wording for the two lowering paths, so the explanation does not depend on whether the transfer came from dma_start_task or npu.dma_memcpy_nd.
|
| mlir::InFlightDiagnostic | xilinx::AIEX::emitUnsafeBdReuseWarning (mlir::Operation *freeOp, int col, int row, AIE::DMAChannelDir dir, uint32_t channel) |
| | Wording for a dma_free_task that releases a buffer descriptor id the runtime pool could hand straight back out before hardware has actually finished the freed transfer – the rolled-loop counterpart to aie-assign-runtime-sequence-bd-ids's unsafe-BD-reuse warning.
|
| std::optional< std::pair< uint32_t, uint32_t > > | xilinx::AIEX::queueSpacePoll (const AIE::AIETargetModel &tm, int col, int row, uint32_t channel, AIE::DMAChannelDir dir, uint32_t depth) |
| | Address and mask for a poll that waits for a free task-queue slot.
|
| mlir::LogicalResult | xilinx::AIEX::insertQueueSpaceWait (mlir::Operation *before, const AIE::AIETargetModel &tm, int col, int row, uint32_t channel, AIE::DMAChannelDir dir, uint32_t depth) |
| void | xilinx::AIEX::guardQueueOverflow (DmaQueueModel &queue, mlir::Operation *push, const AIE::AIETargetModel &tm, const DmaQueueModel::ChannelKey &key, uint32_t depth, bool enforce) |
| | Handle a push on key that would land on a full queue: poll where one can be emitted, warn where it cannot (see insertQueueSpaceWait above for when that is).
|
| template<typename EffectFn> |
| void | xilinx::AIEX::guardSequenceQueueDepth (mlir::Region &body, DmaQueueModel &queue, const AIE::AIETargetModel &tm, bool enforce, bool warnUnsafeBdReuse, EffectFn effectOf) |
| | Guard every push in a runtime sequence that can land on a full queue, and (when warnUnsafeBdReuse) warn at every Free effect whose own push is not yet proven complete along some reachable path.
|