MLIR-AIE 1.4.5.dev
AIEDMATasksToNPUPass Struct Reference
Inheritance diagram for AIEDMATasksToNPUPass:
Collaboration diagram for AIEDMATasksToNPUPass:

Public Member Functions

bool shouldSkipBlock (Block &block)
LogicalResult verifyBdInBlock (Block &block)
void hoistScalarOpsOutOfBdBlocks (DMAConfigureTaskOp op)
LogicalResult verifyNoUnsupportedOpsInBlock (Block &block)
AIE::DMABDOp getBdForBlock (Block &block)
LogicalResult setAddressForSingleBD (OpBuilder &builder, AIE::DMABDOp &bd_op, AIE::TileOp &tile, OpFoldResult bdId={})
FailureOr< BdTemplateFields > gatherBdTemplateFields (OpBuilder &builder, Block &block, AIE::DMABDOp bd_op, AIE::TileOp &tile, const AIE::AIETargetModel &target_model, std::optional< xilinx::AIE::PacketInfoAttr > packet, bool outOfOrder=false)
LogicalResult rewriteSingleBDDynamic (OpBuilder &builder, Block &block, AIE::DMABDOp bd_op, AIE::TileOp &tile, std::optional< xilinx::AIE::PacketInfoAttr > packet, Value runtimeBdId=nullptr, bool outOfOrder=false)
LogicalResult rewriteSingleBD (OpBuilder &builder, Block &block, AIE::TileOp &tile, AIE::DMAChannelDir channelDir, std::optional< xilinx::AIE::PacketInfoAttr > packet, bool outOfOrder=false)
LogicalResult hoistNextBdOpsIntoAttrs (DMAConfigureTaskOp op)
LogicalResult emitOutOfOrderChannelEnable (OpBuilder &builder, DMAConfigureTaskOp op, AIE::TileOp tile)
LogicalResult rewriteSingleDMAConfigureTaskOp (DMAConfigureTaskOp op, const llvm::DenseMap< Operation *, bool > &onlyPushedOnce)
LogicalResult rewriteDMAConfigureTaskOp (AIE::DeviceOp device, const llvm::DenseMap< Operation *, bool > &onlyPushedOnce)
LogicalResult dropDeadTaskCarries (AIE::DeviceOp device)
void runOnOperation () override

Public Attributes

llvm::DenseMap< AIE::DMABDOp, Value > runtimeNextBdId

Detailed Description

Definition at line 179 of file AIEDMATasksToNPU.cpp.

Member Function Documentation

◆ dropDeadTaskCarries()

LogicalResult AIEDMATasksToNPUPass::dropDeadTaskCarries ( AIE::DeviceOp device)
inline

Definition at line 1270 of file AIEDMATasksToNPU.cpp.

Referenced by runOnOperation().

◆ emitOutOfOrderChannelEnable()

◆ gatherBdTemplateFields()

◆ getBdForBlock()

AIE::DMABDOp AIEDMATasksToNPUPass::getBdForBlock ( Block & block)
inline

Definition at line 281 of file AIEDMATasksToNPU.cpp.

Referenced by hoistNextBdOpsIntoAttrs(), and rewriteSingleBD().

◆ hoistNextBdOpsIntoAttrs()

LogicalResult AIEDMATasksToNPUPass::hoistNextBdOpsIntoAttrs ( DMAConfigureTaskOp op)
inline

◆ hoistScalarOpsOutOfBdBlocks()

void AIEDMATasksToNPUPass::hoistScalarOpsOutOfBdBlocks ( DMAConfigureTaskOp op)
inline

Definition at line 240 of file AIEDMATasksToNPU.cpp.

Referenced by rewriteSingleDMAConfigureTaskOp().

◆ rewriteDMAConfigureTaskOp()

LogicalResult AIEDMATasksToNPUPass::rewriteDMAConfigureTaskOp ( AIE::DeviceOp device,
const llvm::DenseMap< Operation *, bool > & onlyPushedOnce )
inline

Definition at line 1237 of file AIEDMATasksToNPU.cpp.

References rewriteSingleDMAConfigureTaskOp().

Referenced by runOnOperation().

◆ rewriteSingleBD()

◆ rewriteSingleBDDynamic()

LogicalResult AIEDMATasksToNPUPass::rewriteSingleBDDynamic ( OpBuilder & builder,
Block & block,
AIE::DMABDOp bd_op,
AIE::TileOp & tile,
std::optional< xilinx::AIE::PacketInfoAttr > packet,
Value runtimeBdId = nullptr,
bool outOfOrder = false )
inline

◆ rewriteSingleDMAConfigureTaskOp()

LogicalResult AIEDMATasksToNPUPass::rewriteSingleDMAConfigureTaskOp ( DMAConfigureTaskOp op,
const llvm::DenseMap< Operation *, bool > & onlyPushedOnce )
inline

◆ runOnOperation()

void AIEDMATasksToNPUPass::runOnOperation ( )
inlineoverride

◆ setAddressForSingleBD()

LogicalResult AIEDMATasksToNPUPass::setAddressForSingleBD ( OpBuilder & builder,
AIE::DMABDOp & bd_op,
AIE::TileOp & tile,
OpFoldResult bdId = {} )
inline

Definition at line 288 of file AIEDMATasksToNPU.cpp.

Referenced by rewriteSingleBD(), and rewriteSingleBDDynamic().

◆ shouldSkipBlock()

bool AIEDMATasksToNPUPass::shouldSkipBlock ( Block & block)
inline

◆ verifyBdInBlock()

LogicalResult AIEDMATasksToNPUPass::verifyBdInBlock ( Block & block)
inline

Definition at line 195 of file AIEDMATasksToNPU.cpp.

Referenced by rewriteSingleDMAConfigureTaskOp().

◆ verifyNoUnsupportedOpsInBlock()

LogicalResult AIEDMATasksToNPUPass::verifyNoUnsupportedOpsInBlock ( Block & block)
inline

Definition at line 253 of file AIEDMATasksToNPU.cpp.

Referenced by rewriteSingleDMAConfigureTaskOp().

Member Data Documentation

◆ runtimeNextBdId

llvm::DenseMap<AIE::DMABDOp, Value> AIEDMATasksToNPUPass::runtimeNextBdId

The documentation for this struct was generated from the following file: