MLIR-AIE 1.4.5.dev
ConnectivityAnalysis Class Reference

Public Member Functions

 ConnectivityAnalysis (DeviceOp &d)
void enableSectionSplitting ()
llvm::DenseSet< std::pair< Operation *, int > > & getFanoutEgressSeeds ()
llvm::SmallVector< CircuitFanoutSeed, 8 > & getCircuitFanoutSeeds ()
const llvm::DenseSet< Operation * > & getPacketMergeOps () const
std::set< std::tuple< Operation *, int, int > > & getPacketMergeEgresses ()
std::optional< PortConnection > upstreamOf (Operation *op, Port port) const
bool drivesPort (Operation *op, Port port) const
std::vector< PacketConnection > traverse (std::vector< PacketConnection > worklist, bool keepPartialFlows) const
std::vector< PacketConnection > getConnectedTiles (TileOp tileOp, Port port, bool keepPartialFlows, MaskValue claim={0, 0}) const
std::vector< PacketConnection > getConnectedTilesFromInput (Operation *switchOp, Port inputPort, bool keepPartialFlows, MaskValue claim={0, 0}) const
std::vector< PacketConnection > getConnectedTilesFromEgress (Operation *switchOp, Port egressPort, bool keepPartialFlows, MaskValue claim={0, 0}) const
std::vector< PacketConnection > getConnectedTilesFromCircuitFanout (const CircuitFanoutSeed &seed, bool keepPartialFlows) const

Static Public Member Functions

static Port decodePort (int e)

Detailed Description

Definition at line 78 of file AIEFindFlows.cpp.

Constructor & Destructor Documentation

◆ ConnectivityAnalysis()

ConnectivityAnalysis::ConnectivityAnalysis ( DeviceOp & d)
inline

Definition at line 92 of file AIEFindFlows.cpp.

Member Function Documentation

◆ decodePort()

Port ConnectivityAnalysis::decodePort ( int e)
inlinestatic

Definition at line 176 of file AIEFindFlows.cpp.

Referenced by AIEFindFlowsPass::runOnOperation().

◆ drivesPort()

bool ConnectivityAnalysis::drivesPort ( Operation * op,
Port port ) const
inline

Definition at line 352 of file AIEFindFlows.cpp.

◆ enableSectionSplitting()

void ConnectivityAnalysis::enableSectionSplitting ( )
inline

Definition at line 96 of file AIEFindFlows.cpp.

Referenced by AIEFindFlowsPass::runOnOperation().

◆ getCircuitFanoutSeeds()

llvm::SmallVector< CircuitFanoutSeed, 8 > & ConnectivityAnalysis::getCircuitFanoutSeeds ( )
inline

Definition at line 167 of file AIEFindFlows.cpp.

Referenced by AIEFindFlowsPass::runOnOperation().

◆ getConnectedTiles()

std::vector< PacketConnection > ConnectivityAnalysis::getConnectedTiles ( TileOp tileOp,
Port port,
bool keepPartialFlows,
MaskValue claim = {0, 0} ) const
inline

Definition at line 450 of file AIEFindFlows.cpp.

◆ getConnectedTilesFromCircuitFanout()

std::vector< PacketConnection > ConnectivityAnalysis::getConnectedTilesFromCircuitFanout ( const CircuitFanoutSeed & seed,
bool keepPartialFlows ) const
inline

◆ getConnectedTilesFromEgress()

std::vector< PacketConnection > ConnectivityAnalysis::getConnectedTilesFromEgress ( Operation * switchOp,
Port egressPort,
bool keepPartialFlows,
MaskValue claim = {0, 0} ) const
inline

Definition at line 480 of file AIEFindFlows.cpp.

Referenced by AIEFindFlowsPass::runOnOperation().

◆ getConnectedTilesFromInput()

std::vector< PacketConnection > ConnectivityAnalysis::getConnectedTilesFromInput ( Operation * switchOp,
Port inputPort,
bool keepPartialFlows,
MaskValue claim = {0, 0} ) const
inline

Definition at line 467 of file AIEFindFlows.cpp.

◆ getFanoutEgressSeeds()

llvm::DenseSet< std::pair< Operation *, int > > & ConnectivityAnalysis::getFanoutEgressSeeds ( )
inline

Definition at line 164 of file AIEFindFlows.cpp.

Referenced by AIEFindFlowsPass::runOnOperation().

◆ getPacketMergeEgresses()

std::set< std::tuple< Operation *, int, int > > & ConnectivityAnalysis::getPacketMergeEgresses ( )
inline

Definition at line 173 of file AIEFindFlows.cpp.

Referenced by AIEFindFlowsPass::runOnOperation().

◆ getPacketMergeOps()

const llvm::DenseSet< Operation * > & ConnectivityAnalysis::getPacketMergeOps ( ) const
inline

Definition at line 170 of file AIEFindFlows.cpp.

Referenced by AIEFindFlowsPass::runOnOperation().

◆ traverse()

std::vector< PacketConnection > ConnectivityAnalysis::traverse ( std::vector< PacketConnection > worklist,
bool keepPartialFlows ) const
inline

Definition at line 376 of file AIEFindFlows.cpp.

Referenced by getConnectedTilesFromCircuitFanout().

◆ upstreamOf()

std::optional< PortConnection > ConnectivityAnalysis::upstreamOf ( Operation * op,
Port port ) const
inline

Definition at line 346 of file AIEFindFlows.cpp.


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