MLIR-AIE
Classes | Functions
xilinx::AIEX Namespace Reference

Classes

struct  SubviewTraceResult
 
class  TokenAnalysis
 

Functions

memref::GlobalOp getOrCreateDataMemref (OpBuilder &builder, AIE::DeviceOp dev, mlir::Location loc, ArrayRef< uint32_t > words)
 
std::optional< SubviewTraceResulttraceSubviewToBlockArgument (Value value)
 
void getHardwareStridesWraps (const AIE::AIETargetModel &targetModel, mlir::Operation *op, mlir::BaseMemRefType referencedBufType, llvm::SmallVector< int64_t, 4 > inputSizes, llvm::SmallVector< int64_t, 4 > inputStrides, llvm::SmallVector< int64_t, 4 > &sizes, llvm::SmallVector< int64_t, 4 > &strides)
 
mlir::LogicalResult verifyStridesWraps (mlir::Operation *forOp, mlir::BaseMemRefType referencedBufType, int tileCol, int tileRow, llvm::SmallVector< int64_t, 4 > inputSizes, llvm::SmallVector< int64_t, 4 > inputStrides, llvm::SmallVector< int64_t, 4 > hardwareSizes, llvm::SmallVector< int64_t, 4 > hardwareStrides, bool skipTransformationChecks=false)
 
bool isLinearTransfer (llvm::ArrayRef< int64_t > sizes, llvm::ArrayRef< int64_t > strides)
 
std::unique_ptr< mlir::OperationPass< AIE::DeviceOp > > createAIECreateCoresPass ()
 
std::unique_ptr< mlir::OperationPass< AIE::DeviceOp > > createAIECreateLocksPass ()
 
std::unique_ptr< mlir::OperationPass< AIE::DeviceOp > > createAIEHerdRoutingPass ()
 
std::unique_ptr< mlir::OperationPass< AIE::DeviceOp > > createAIELowerMemcpyPass ()
 
std::unique_ptr< mlir::OperationPass< AIE::DeviceOp > > createAIELowerMulticastPass ()
 
std::unique_ptr< mlir::OperationPass< AIE::DeviceOp > > createAIEBroadcastPacketPass ()
 
std::unique_ptr< mlir::OperationPass< AIE::DeviceOp > > createAIEDmaToNpuPass ()
 
std::unique_ptr< mlir::OperationPass< AIE::DeviceOp > > createAIENpuToCertPass ()
 
std::unique_ptr< mlir::OperationPass< AIE::DeviceOp > > createAIECertPagesPass ()
 
std::unique_ptr< mlir::OperationPass< mlir::ModuleOp > > createAIEXToStandardPass ()
 
std::unique_ptr< mlir::OperationPass< AIE::DeviceOp > > createAIEMaterializeBDChainsPass ()
 
std::unique_ptr< mlir::OperationPass< mlir::ModuleOp > > createAIEMaterializeRuntimeSequencesPass ()
 
std::unique_ptr< mlir::OperationPass< AIE::DeviceOp > > createAIEAssignRuntimeSequenceBDIDsPass ()
 
std::unique_ptr< mlir::OperationPass< AIE::DeviceOp > > createAIEDMATasksToNPUPass ()
 
std::unique_ptr< mlir::OperationPass< AIE::DeviceOp > > createAIESubstituteShimDMAAllocationsPass ()
 
std::unique_ptr< mlir::OperationPass< AIE::DeviceOp > > createAIECtrlPacketToDmaPass ()
 
std::unique_ptr< mlir::OperationPass< AIE::DeviceOp > > createAIECtrlPacketInferTilesPass ()
 
std::unique_ptr< mlir::OperationPass< AIE::DeviceOp > > createAIELowerSetLockPass ()
 
std::unique_ptr< mlir::OperationPass< AIE::DeviceOp > > createAIETransformBfpTypesPass ()
 
std::unique_ptr< mlir::OperationPass< AIE::DeviceOp > > createAIETxnToControlPacketPass ()
 
std::unique_ptr< mlir::OperationPass< AIE::DeviceOp > > createAIELegalizeControlPacketPass ()
 
std::unique_ptr< mlir::OperationPass< mlir::ModuleOp > > createAIEExpandLoadPdiPass ()
 
std::unique_ptr< mlir::OperationPass< AIE::DeviceOp > > createAIEXInlineTraceConfigPass ()
 

Function Documentation

◆ createAIEAssignRuntimeSequenceBDIDsPass()

std::unique_ptr< OperationPass< AIE::DeviceOp > > xilinx::AIEX::createAIEAssignRuntimeSequenceBDIDsPass ( )

Definition at line 175 of file AIEAssignRuntimeSequenceBDIDs.cpp.

◆ createAIEBroadcastPacketPass()

std::unique_ptr< OperationPass< DeviceOp > > xilinx::AIEX::createAIEBroadcastPacketPass ( )

Definition at line 108 of file AIECreateBroadcastPacket.cpp.

◆ createAIECertPagesPass()

std::unique_ptr< OperationPass< AIE::DeviceOp > > xilinx::AIEX::createAIECertPagesPass ( )

Definition at line 606 of file AIENpuToCert.cpp.

◆ createAIECreateCoresPass()

std::unique_ptr< OperationPass< DeviceOp > > xilinx::AIEX::createAIECreateCoresPass ( )

Definition at line 257 of file AIECreateCores.cpp.

◆ createAIECreateLocksPass()

std::unique_ptr< OperationPass< DeviceOp > > xilinx::AIEX::createAIECreateLocksPass ( )

Definition at line 233 of file AIECreateLocks.cpp.

◆ createAIECtrlPacketInferTilesPass()

std::unique_ptr< OperationPass< DeviceOp > > xilinx::AIEX::createAIECtrlPacketInferTilesPass ( )

Definition at line 221 of file AIECtrlPacketToDma.cpp.

◆ createAIECtrlPacketToDmaPass()

std::unique_ptr< OperationPass< DeviceOp > > xilinx::AIEX::createAIECtrlPacketToDmaPass ( )

Definition at line 224 of file AIECtrlPacketToDma.cpp.

◆ createAIEDMATasksToNPUPass()

std::unique_ptr< OperationPass< AIE::DeviceOp > > xilinx::AIEX::createAIEDMATasksToNPUPass ( )

Definition at line 672 of file AIEDMATasksToNPU.cpp.

◆ createAIEDmaToNpuPass()

std::unique_ptr< OperationPass< AIE::DeviceOp > > xilinx::AIEX::createAIEDmaToNpuPass ( )

Definition at line 751 of file AIEDmaToNpu.cpp.

◆ createAIEExpandLoadPdiPass()

std::unique_ptr< mlir::OperationPass< mlir::ModuleOp > > xilinx::AIEX::createAIEExpandLoadPdiPass ( )

Definition at line 141 of file AIEExpandLoadPdi.cpp.

◆ createAIEHerdRoutingPass()

std::unique_ptr< OperationPass< DeviceOp > > xilinx::AIEX::createAIEHerdRoutingPass ( )

Definition at line 341 of file AIEHerdRouting.cpp.

◆ createAIELegalizeControlPacketPass()

std::unique_ptr< OperationPass< AIE::DeviceOp > > xilinx::AIEX::createAIELegalizeControlPacketPass ( )

Definition at line 180 of file AIETxnToControlPacket.cpp.

◆ createAIELowerMemcpyPass()

std::unique_ptr< OperationPass< AIE::DeviceOp > > xilinx::AIEX::createAIELowerMemcpyPass ( )

Definition at line 149 of file AIELowerMemcpy.cpp.

◆ createAIELowerMulticastPass()

std::unique_ptr< OperationPass< DeviceOp > > xilinx::AIEX::createAIELowerMulticastPass ( )

Definition at line 88 of file AIELowerMulticast.cpp.

◆ createAIELowerSetLockPass()

std::unique_ptr< OperationPass< DeviceOp > > xilinx::AIEX::createAIELowerSetLockPass ( )

Definition at line 86 of file AIELowerSetLock.cpp.

◆ createAIEMaterializeBDChainsPass()

std::unique_ptr< OperationPass< AIE::DeviceOp > > xilinx::AIEX::createAIEMaterializeBDChainsPass ( )

Definition at line 153 of file AIEMaterializeBDChains.cpp.

◆ createAIEMaterializeRuntimeSequencesPass()

std::unique_ptr< OperationPass< ModuleOp > > xilinx::AIEX::createAIEMaterializeRuntimeSequencesPass ( )

Definition at line 697 of file AIEMaterializeRuntimeSequences.cpp.

◆ createAIENpuToCertPass()

std::unique_ptr< OperationPass< AIE::DeviceOp > > xilinx::AIEX::createAIENpuToCertPass ( )

Definition at line 602 of file AIENpuToCert.cpp.

◆ createAIESubstituteShimDMAAllocationsPass()

std::unique_ptr< OperationPass< AIE::DeviceOp > > xilinx::AIEX::createAIESubstituteShimDMAAllocationsPass ( )

Definition at line 88 of file AIESubstituteShimDMAAllocations.cpp.

◆ createAIETransformBfpTypesPass()

std::unique_ptr< OperationPass< DeviceOp > > xilinx::AIEX::createAIETransformBfpTypesPass ( )

Definition at line 239 of file AIETransformBfpTypes.cpp.

◆ createAIETxnToControlPacketPass()

std::unique_ptr< OperationPass< AIE::DeviceOp > > xilinx::AIEX::createAIETxnToControlPacketPass ( )

Definition at line 175 of file AIETxnToControlPacket.cpp.

◆ createAIEXInlineTraceConfigPass()

std::unique_ptr< OperationPass< AIE::DeviceOp > > xilinx::AIEX::createAIEXInlineTraceConfigPass ( )

Definition at line 128 of file AIEInlineTraceConfig.cpp.

◆ createAIEXToStandardPass()

std::unique_ptr< OperationPass< ModuleOp > > xilinx::AIEX::createAIEXToStandardPass ( )

Definition at line 71 of file AIEXToStandard.cpp.

◆ getHardwareStridesWraps()

void xilinx::AIEX::getHardwareStridesWraps ( const AIE::AIETargetModel targetModel,
mlir::Operation *  op,
mlir::BaseMemRefType  referencedBufType,
llvm::SmallVector< int64_t, 4 >  inputSizes,
llvm::SmallVector< int64_t, 4 >  inputStrides,
llvm::SmallVector< int64_t, 4 > &  sizes,
llvm::SmallVector< int64_t, 4 > &  strides 
)

◆ getOrCreateDataMemref()

memref::GlobalOp xilinx::AIEX::getOrCreateDataMemref ( OpBuilder &  builder,
AIE::DeviceOp  dev,
mlir::Location  loc,
ArrayRef< uint32_t >  words 
)

Definition at line 113 of file AIEUtils.cpp.

◆ isLinearTransfer()

bool xilinx::AIEX::isLinearTransfer ( llvm::ArrayRef< int64_t >  sizes,
llvm::ArrayRef< int64_t >  strides 
)

Definition at line 349 of file AIEXDialect.cpp.

Referenced by AIEDMATasksToNPUPass::rewriteSingleBD().

◆ traceSubviewToBlockArgument()

std::optional< AIEX::SubviewTraceResult > xilinx::AIEX::traceSubviewToBlockArgument ( Value  value)

Definition at line 19 of file AIEUtils.cpp.

Referenced by AIEDMATasksToNPUPass::setAddressForSingleBD().

◆ verifyStridesWraps()

mlir::LogicalResult xilinx::AIEX::verifyStridesWraps ( mlir::Operation *  forOp,
mlir::BaseMemRefType  referencedBufType,
int  tileCol,
int  tileRow,
llvm::SmallVector< int64_t, 4 >  inputSizes,
llvm::SmallVector< int64_t, 4 >  inputStrides,
llvm::SmallVector< int64_t, 4 >  hardwareSizes,
llvm::SmallVector< int64_t, 4 >  hardwareStrides,
bool  skipTransformationChecks = false 
)

Definition at line 172 of file AIEXDialect.cpp.

References xilinx::AIE::getTargetModel().

Referenced by AIEDMATasksToNPUPass::rewriteSingleBD().