|
MLIR-AIE 1.4.5.dev
|
#include "aie/Dialect/AIE/Transforms/AIEPlacer.h"
Classes | |
| struct | Adjacency |
| struct | CollectedOps |
Public Types | |
| using | AllocateInfo = std::pair<mlir::Operation *, TileID> |
| using | ShareableShimEnds |
Public Member Functions | |
| Placer ()=default | |
| virtual | ~Placer ()=default |
| virtual void | initialize (const AIETargetModel &tm) |
| virtual mlir::LogicalResult | place (DeviceOp device)=0 |
| virtual llvm::StringRef | getName () const =0 |
| std::optional< TileID > | getPlacement (mlir::Operation *logicalTile) const |
| llvm::SmallVector< AllocateInfo > & | getAllocates () |
Static Public Member Functions | |
| static CollectedOps | collectOperations (DeviceOp device) |
| static bool | satisfiesConstraints (mlir::Operation *tile, TileID pos) |
| static Adjacency | buildCascadeAdjacency (llvm::ArrayRef< CascadeFlowOp > cascadeFlows) |
| static Adjacency | buildComputePeerAdjacency (llvm::ArrayRef< ObjectFifoCreateOp > objectFifos) |
| static Adjacency | buildSharedMemAdjacency (llvm::ArrayRef< ObjectFifoCreateOp > objectFifos) |
| static Adjacency | buildObjectFifoAdjacency (llvm::ArrayRef< ObjectFifoCreateOp > objectFifos) |
| static Adjacency | buildFlowAdjacency (llvm::ArrayRef< FlowOp > flows, llvm::ArrayRef< PacketFlowOp > pktFlows) |
| static ShareableShimEnds | collectShareableShimEnds (DeviceOp device, llvm::ArrayRef< ObjectFifoCreateOp > objectFifos) |
| static std::optional< ShimTransferSpans::End > | shimEndOf (DeviceOp device, mlir::StringAttr symbol) |
Protected Attributes | |
| PlacementResult | result |
| llvm::SmallVector< AllocateInfo > | allocates |
| const AIETargetModel * | targetModel = nullptr |
| TileAvailability | availability |
Definition at line 80 of file AIEPlacer.h.
| using xilinx::AIE::Placer::AllocateInfo = std::pair<mlir::Operation *, TileID> |
Definition at line 101 of file AIEPlacer.h.
Definition at line 169 of file AIEPlacer.h.
|
default |
|
virtualdefault |
|
static |
Definition at line 1099 of file AIEPlacer.cpp.
References xilinx::AIE::Placer::Adjacency::addEdge().
Referenced by xilinx::AIE::SequentialPlacer::place().
|
static |
Definition at line 1112 of file AIEPlacer.cpp.
References xilinx::AIE::Placer::Adjacency::addEdge().
Referenced by xilinx::AIE::SequentialPlacer::place().
|
static |
Definition at line 1400 of file AIEPlacer.cpp.
References xilinx::AIE::Placer::Adjacency::addEdgeFromValues().
|
static |
Definition at line 1355 of file AIEPlacer.cpp.
References xilinx::AIE::Placer::Adjacency::addEdgeFromValues().
|
static |
Definition at line 1136 of file AIEPlacer.cpp.
References xilinx::AIE::Placer::Adjacency::addEdgeFromValues().
Referenced by xilinx::AIE::SequentialPlacer::place().
|
static |
Definition at line 73 of file AIEPlacer.cpp.
References xilinx::AIE::Placer::CollectedOps::cascadeFlows, xilinx::AIE::Placer::CollectedOps::flows, xilinx::AIE::Placer::CollectedOps::logicalTiles, xilinx::AIE::Placer::CollectedOps::objectFifoAllocates, xilinx::AIE::Placer::CollectedOps::objectFifoLinks, xilinx::AIE::Placer::CollectedOps::objectFifos, xilinx::AIE::StructuralGraph::of(), xilinx::AIE::Placer::CollectedOps::pktFlows, xilinx::AIE::StructuralGraph::rank(), and xilinx::AIE::Placer::CollectedOps::routes.
Referenced by xilinx::AIE::SequentialPlacer::place().
|
static |
Definition at line 1364 of file AIEPlacer.cpp.
Referenced by xilinx::AIE::SequentialPlacer::place().
|
inline |
Definition at line 102 of file AIEPlacer.h.
References allocates.
|
pure virtual |
Implemented in xilinx::AIE::SAPlacer, and xilinx::AIE::SequentialPlacer.
|
inline |
Definition at line 91 of file AIEPlacer.h.
References result.
|
virtual |
Reimplemented in xilinx::AIE::SequentialPlacer.
Definition at line 51 of file AIEPlacer.cpp.
References availability, xilinx::AIE::AIETargetModel::columns(), xilinx::AIE::AIETargetModel::getTileType(), xilinx::AIE::AIETargetModel::rows(), and targetModel.
Referenced by xilinx::AIE::SequentialPlacer::initialize().
|
pure virtual |
Implemented in xilinx::AIE::SAPlacer, and xilinx::AIE::SequentialPlacer.
|
static |
Definition at line 101 of file AIEPlacer.cpp.
|
static |
Definition at line 1389 of file AIEPlacer.cpp.
Referenced by xilinx::AIE::SequentialPlacer::place().
|
protected |
Definition at line 183 of file AIEPlacer.h.
Referenced by getAllocates().
|
protected |
Definition at line 185 of file AIEPlacer.h.
Referenced by initialize(), and xilinx::AIE::SequentialPlacer::initialize().
|
protected |
Definition at line 182 of file AIEPlacer.h.
Referenced by getPlacement().
|
protected |
Definition at line 184 of file AIEPlacer.h.
Referenced by initialize(), xilinx::AIE::SequentialPlacer::initialize(), and xilinx::AIE::SequentialPlacer::place().