MLIR-AIE 1.4.5.dev
xilinx::AIE::Pathfinder::RouteState Struct Reference
Collaboration diagram for xilinx::AIE::Pathfinder::RouteState:

Classes

struct  IdSplit

Public Member Functions

 RouteState (const Pathfinder &pf)
int groupOf (const Flow &f) const
SmallVector< int, 4 > idsTo (int flow, int dstState) const
void relateParts ()
int splitPart (int flow, const std::set< int > &ids)
bool isPinned (const Flow &f) const
bool mayLeave (ArrayRef< int > masters, int next) const
bool reorder (int later, int earlier, bool again=false)

Public Attributes

const Pathfinder & pf
Routing routing
std::vector< uint32_t > processedStamp
uint32_t curStamp = 0
std::vector< Flow > parts
std::map< PathEndPoint, SmallVector< int, 2 > > partsOf
llvm::MapVector< int, SmallVector< int, 8 > > groupedFlows
std::vector< llvm::BitVector > conflicting
std::set< std::pair< PathEndPoint, PathEndPoint > > apartSources
std::set< std::pair< PathEndPoint, PathEndPoint > > togetherSources
std::vector< std::set< int > > flowIds
std::vector< SmallVector< int, 4 > > sameId
std::vector< llvm::DenseMap< int, std::pair< int, Edge > > > treeOf
std::vector< SmallVector< Edge, 8 > > circuitHops
std::vector< SmallVector< int, 4 > > treeDsts
std::vector< SmallVector< std::pair< int, Edge >, 8 > > joinedHops
std::set< std::pair< int, int > > noJoin
std::vector< std::set< IdSplit > > splitsOf
std::vector< std::set< std::pair< TileID, int > > > partSplits
std::set< std::pair< int, int > > unmet
std::set< std::pair< int, int > > reordered
std::set< std::pair< int, int > > trunked
std::set< PathEndPoint > untrunked
std::set< std::pair< int, int > > met
std::map< std::pair< int, int >, int > meetFaults
std::set< std::pair< int, int > > spared
llvm::DenseSet< int > overlayMasters
std::vector< SmallVector< int, 4 > > overlaySets

Detailed Description

Definition at line 918 of file AIEPathFinder.cpp.

Constructor & Destructor Documentation

◆ RouteState()

xilinx::AIE::Pathfinder::RouteState::RouteState ( const Pathfinder & pf)
explicit

Member Function Documentation

◆ groupOf()

int xilinx::AIE::Pathfinder::RouteState::groupOf ( const Flow & f) const

Definition at line 1082 of file AIEPathFinder.cpp.

References isPinned(), and xilinx::AIE::Flow::packetGroupId.

Referenced by reorder(), RouteState(), and splitPart().

◆ idsTo()

SmallVector< int, 4 > xilinx::AIE::Pathfinder::RouteState::idsTo ( int flow,
int dstState ) const

Definition at line 1086 of file AIEPathFinder.cpp.

References flowIds, parts, and pf.

◆ isPinned()

bool xilinx::AIE::Pathfinder::RouteState::isPinned ( const Flow & f) const

Definition at line 1078 of file AIEPathFinder.cpp.

References xilinx::AIE::Flow::isPriorityFlow, pf, and xilinx::AIE::Flow::src.

Referenced by groupOf().

◆ mayLeave()

bool xilinx::AIE::Pathfinder::RouteState::mayLeave ( ArrayRef< int > masters,
int next ) const

Definition at line 1067 of file AIEPathFinder.cpp.

References overlayMasters, and overlaySets.

◆ relateParts()

void xilinx::AIE::Pathfinder::RouteState::relateParts ( )

Definition at line 1098 of file AIEPathFinder.cpp.

References apartSources, conflicting, flowIds, parts, pf, and sameId.

Referenced by RouteState(), and splitPart().

◆ reorder()

bool xilinx::AIE::Pathfinder::RouteState::reorder ( int later,
int earlier,
bool again = false )

Definition at line 1053 of file AIEPathFinder.cpp.

References groupedFlows, groupOf(), parts, and reordered.

Referenced by xilinx::AIE::Pathfinder::findPaths().

◆ splitPart()

Member Data Documentation

◆ apartSources

std::set<std::pair<PathEndPoint, PathEndPoint> > xilinx::AIE::Pathfinder::RouteState::apartSources

Definition at line 942 of file AIEPathFinder.cpp.

Referenced by relateParts().

◆ circuitHops

std::vector<SmallVector<Edge, 8> > xilinx::AIE::Pathfinder::RouteState::circuitHops

Definition at line 952 of file AIEPathFinder.cpp.

Referenced by xilinx::AIE::Pathfinder::findPaths(), RouteState(), and splitPart().

◆ conflicting

std::vector<llvm::BitVector> xilinx::AIE::Pathfinder::RouteState::conflicting

Definition at line 941 of file AIEPathFinder.cpp.

Referenced by relateParts(), and RouteState().

◆ curStamp

uint32_t xilinx::AIE::Pathfinder::RouteState::curStamp = 0

Definition at line 931 of file AIEPathFinder.cpp.

◆ flowIds

std::vector<std::set<int> > xilinx::AIE::Pathfinder::RouteState::flowIds

Definition at line 945 of file AIEPathFinder.cpp.

Referenced by idsTo(), relateParts(), RouteState(), and splitPart().

◆ groupedFlows

llvm::MapVector<int, SmallVector<int, 8> > xilinx::AIE::Pathfinder::RouteState::groupedFlows

◆ joinedHops

std::vector<SmallVector<std::pair<int, Edge>, 8> > xilinx::AIE::Pathfinder::RouteState::joinedHops

Definition at line 956 of file AIEPathFinder.cpp.

Referenced by xilinx::AIE::Pathfinder::findPaths(), RouteState(), and splitPart().

◆ meetFaults

std::map<std::pair<int, int>, int> xilinx::AIE::Pathfinder::RouteState::meetFaults

Definition at line 989 of file AIEPathFinder.cpp.

◆ met

std::set<std::pair<int, int> > xilinx::AIE::Pathfinder::RouteState::met

Definition at line 988 of file AIEPathFinder.cpp.

Referenced by xilinx::AIE::Pathfinder::findPaths().

◆ noJoin

std::set<std::pair<int, int> > xilinx::AIE::Pathfinder::RouteState::noJoin

Definition at line 957 of file AIEPathFinder.cpp.

Referenced by splitPart().

◆ overlayMasters

llvm::DenseSet<int> xilinx::AIE::Pathfinder::RouteState::overlayMasters

Definition at line 996 of file AIEPathFinder.cpp.

Referenced by mayLeave(), and RouteState().

◆ overlaySets

std::vector<SmallVector<int, 4> > xilinx::AIE::Pathfinder::RouteState::overlaySets

Definition at line 997 of file AIEPathFinder.cpp.

Referenced by mayLeave(), and RouteState().

◆ parts

std::vector<Flow> xilinx::AIE::Pathfinder::RouteState::parts

◆ partsOf

std::map<PathEndPoint, SmallVector<int, 2> > xilinx::AIE::Pathfinder::RouteState::partsOf

Definition at line 935 of file AIEPathFinder.cpp.

Referenced by RouteState(), and splitPart().

◆ partSplits

std::vector<std::set<std::pair<TileID, int> > > xilinx::AIE::Pathfinder::RouteState::partSplits

Definition at line 975 of file AIEPathFinder.cpp.

Referenced by RouteState(), and splitPart().

◆ pf

const Pathfinder& xilinx::AIE::Pathfinder::RouteState::pf

Definition at line 927 of file AIEPathFinder.cpp.

Referenced by idsTo(), isPinned(), relateParts(), RouteState(), and splitPart().

◆ processedStamp

std::vector<uint32_t> xilinx::AIE::Pathfinder::RouteState::processedStamp

Definition at line 930 of file AIEPathFinder.cpp.

Referenced by RouteState().

◆ reordered

std::set<std::pair<int, int> > xilinx::AIE::Pathfinder::RouteState::reordered

Definition at line 978 of file AIEPathFinder.cpp.

Referenced by reorder().

◆ routing

Routing xilinx::AIE::Pathfinder::RouteState::routing

Definition at line 928 of file AIEPathFinder.cpp.

Referenced by xilinx::AIE::Pathfinder::findPaths().

◆ sameId

std::vector<SmallVector<int, 4> > xilinx::AIE::Pathfinder::RouteState::sameId

Definition at line 946 of file AIEPathFinder.cpp.

Referenced by relateParts().

◆ spared

std::set<std::pair<int, int> > xilinx::AIE::Pathfinder::RouteState::spared

Definition at line 992 of file AIEPathFinder.cpp.

◆ splitsOf

std::vector<std::set<IdSplit> > xilinx::AIE::Pathfinder::RouteState::splitsOf

Definition at line 970 of file AIEPathFinder.cpp.

Referenced by xilinx::AIE::Pathfinder::findPaths(), RouteState(), and splitPart().

◆ togetherSources

std::set<std::pair<PathEndPoint, PathEndPoint> > xilinx::AIE::Pathfinder::RouteState::togetherSources

Definition at line 943 of file AIEPathFinder.cpp.

◆ treeDsts

std::vector<SmallVector<int, 4> > xilinx::AIE::Pathfinder::RouteState::treeDsts

Definition at line 953 of file AIEPathFinder.cpp.

Referenced by xilinx::AIE::Pathfinder::findPaths(), RouteState(), and splitPart().

◆ treeOf

std::vector<llvm::DenseMap<int, std::pair<int, Edge> > > xilinx::AIE::Pathfinder::RouteState::treeOf

Definition at line 949 of file AIEPathFinder.cpp.

Referenced by xilinx::AIE::Pathfinder::findPaths(), RouteState(), and splitPart().

◆ trunked

std::set<std::pair<int, int> > xilinx::AIE::Pathfinder::RouteState::trunked

Definition at line 982 of file AIEPathFinder.cpp.

Referenced by xilinx::AIE::Pathfinder::findPaths().

◆ unmet

std::set<std::pair<int, int> > xilinx::AIE::Pathfinder::RouteState::unmet

Definition at line 978 of file AIEPathFinder.cpp.

Referenced by xilinx::AIE::Pathfinder::findPaths().

◆ untrunked

std::set<PathEndPoint> xilinx::AIE::Pathfinder::RouteState::untrunked

Definition at line 985 of file AIEPathFinder.cpp.


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