|
MLIR-AIE 1.4.5.dev
|
What one op in a loop body does to a channel queue. More...
#include "aie/Dialect/AIEX/Utils/DmaQueueModel.h"
Public Types | |
| enum class | Kind { Ignore , Configure , Push , Await , Free } |
Static Public Member Functions | |
| static QueueEffect | configure (DmaQueueModel::ChannelKey key, mlir::Value task) |
| static QueueEffect | push (DmaQueueModel::ChannelKey key, bool issuesToken, mlir::Value task={}) |
| static QueueEffect | await (DmaQueueModel::ChannelKey key) |
| static QueueEffect | free (DmaQueueModel::ChannelKey key, mlir::Value task) |
Public Attributes | |
| Kind | kind = Kind::Ignore |
| DmaQueueModel::ChannelKey | key {} |
| bool | issuesToken = false |
| mlir::Value | task |
What one op in a loop body does to a channel queue.
The two lowering paths spell pushes and awaits with different ops, so the fixed point below takes the classification from its caller and keeps the FIFO rule to itself.
Free is a read-only check, not a hardware event: a dma_free_task returns a buffer descriptor id to the compiler's pool without touching the channel, so it neither pushes nor retires anything here. It asks whether task's own push – the one a later pop could still be waiting behind – has already been proven complete.
Definition at line 313 of file DmaQueueModel.h.
|
strong |
| Enumerator | |
|---|---|
| Ignore | |
| Configure | |
| Push | |
| Await | |
| Free | |
Definition at line 314 of file DmaQueueModel.h.
|
inlinestatic |
Definition at line 328 of file DmaQueueModel.h.
|
inlinestatic |
Definition at line 320 of file DmaQueueModel.h.
|
inlinestatic |
Definition at line 331 of file DmaQueueModel.h.
|
inlinestatic |
Definition at line 324 of file DmaQueueModel.h.
References issuesToken, key, and task.
| bool xilinx::AIEX::QueueEffect::issuesToken = false |
Definition at line 317 of file DmaQueueModel.h.
Referenced by xilinx::AIEX::guardSequenceQueueDepth(), and push().
| DmaQueueModel::ChannelKey xilinx::AIEX::QueueEffect::key {} |
Definition at line 316 of file DmaQueueModel.h.
Referenced by await(), configure(), free(), xilinx::AIEX::guardSequenceQueueDepth(), and push().
| Kind xilinx::AIEX::QueueEffect::kind = Kind::Ignore |
Definition at line 315 of file DmaQueueModel.h.
Referenced by xilinx::AIEX::guardSequenceQueueDepth().
| mlir::Value xilinx::AIEX::QueueEffect::task |
Definition at line 318 of file DmaQueueModel.h.
Referenced by configure(), free(), xilinx::AIEX::guardSequenceQueueDepth(), and push().