LLVM: llvm::PBQP::RegAlloc::PBQPRAGraph Class Reference (original) (raw)
Public Member Functions
PBQPRAGraph (GraphMetadata Metadata)
void
Dump this graph to dbgs().
void
dump (raw_ostream &OS) const
Dump this graph to an output stream.
void
printDot (raw_ostream &OS) const
Print a representation of this graph in DOT format.
Public Member Functions inherited from llvm::PBQP::Graph< RegAllocSolverImpl >
Graph ()=default
Construct an empty PBQP graph.
Graph (GraphMetadata Metadata)
Construct an empty PBQP graph with the given graph metadata.
getMetadata ()
Get a reference to the graph metadata.
getMetadata () const
Get a const-reference to the graph metadata.
void
setSolver (RegAllocSolverImpl &S)
Lock this graph to the given solver instance in preparation for running the solver.
void
unsetSolver ()
Release from solver instance.
addNode (OtherVectorT Costs)
Add a node with the given costs.
addNodeBypassingCostAllocator (OtherVectorPtrT Costs)
Add a node bypassing the cost allocator.
addEdge (NodeId N1Id, NodeId N2Id, OtherVectorT Costs)
Add an edge between the given nodes with the given costs.
addEdgeBypassingCostAllocator (NodeId N1Id, NodeId N2Id, OtherMatrixPtrT Costs)
Add an edge bypassing the cost allocator.
Returns true if the graph is empty.
NodeIdSet
EdgeIdSet
AdjEdgeIdSet
adjEdgeIds (NodeId NId)
getNumNodes () const
Get the number of nodes in the graph.
getNumEdges () const
Get the number of edges in the graph.
void
setNodeCosts (NodeId NId, OtherVectorT Costs)
Set a node's cost vector.
getNodeCostsPtr (NodeId NId) const
Get a VectorPtr to a node's cost vector.
getNodeCosts (NodeId NId) const
Get a node's cost vector.
getNodeMetadata (NodeId NId)
getNodeMetadata (NodeId NId) const
NodeEntry::AdjEdgeList::size_type
getNodeDegree (NodeId NId) const
void
updateEdgeCosts (EdgeId EId, OtherMatrixT Costs)
Update an edge's cost matrix.
getEdgeCostsPtr (EdgeId EId) const
Get a MatrixPtr to a node's cost matrix.
getEdgeCosts (EdgeId EId) const
Get an edge's cost matrix.
getEdgeMetadata (EdgeId EId)
getEdgeMetadata (EdgeId EId) const
getEdgeNode1Id (EdgeId EId) const
Get the first node connected to this edge.
getEdgeNode2Id (EdgeId EId) const
Get the second node connected to this edge.
getEdgeOtherNodeId (EdgeId EId, NodeId NId)
Get the "other" node connected to this edge.
findEdge (NodeId N1Id, NodeId N2Id)
Get the edge connecting two nodes.
void
removeNode (NodeId NId)
Remove a node from the graph.
void
disconnectEdge (EdgeId EId, NodeId NId)
Disconnect an edge from the given node.
void
disconnectAllNeighborsFromNode (NodeId NId)
Convenience method to disconnect all neighbours from the given node.
void
reconnectEdge (EdgeId EId, NodeId NId)
Re-attach an edge to its nodes.
void
removeEdge (EdgeId EId)
Remove an edge from the graph.
void
clear ()
Remove all nodes and edges from the graph.
Definition at line 501 of file RegAllocPBQP.h.