|
LLVM
8.0.1
|
#include "llvm/CodeGen/RegAllocPBQP.h"


Public Member Functions | |
| PBQPRAGraph (GraphMetadata Metadata) | |
| void | dump () const |
| Dump this graph to dbgs(). More... | |
| void | dump (raw_ostream &OS) const |
| Dump this graph to an output stream. More... | |
| void | printDot (raw_ostream &OS) const |
| Print a representation of this graph in DOT format. More... | |
Public Member Functions inherited from llvm::PBQP::Graph< RegAllocSolverImpl > | |
| Graph ()=default | |
| Construct an empty PBQP graph. More... | |
| Graph (GraphMetadata Metadata) | |
| Construct an empty PBQP graph with the given graph metadata. More... | |
| GraphMetadata & | getMetadata () |
| Get a reference to the graph metadata. More... | |
| const GraphMetadata & | getMetadata () const |
| Get a const-reference to the graph metadata. More... | |
| void | setSolver (RegAllocSolverImpl &S) |
| Lock this graph to the given solver instance in preparation for running the solver. More... | |
| void | unsetSolver () |
| Release from solver instance. More... | |
| NodeId | addNode (OtherVectorT Costs) |
| Add a node with the given costs. More... | |
| NodeId | addNodeBypassingCostAllocator (OtherVectorPtrT Costs) |
| Add a node bypassing the cost allocator. More... | |
| EdgeId | addEdge (NodeId N1Id, NodeId N2Id, OtherVectorT Costs) |
| Add an edge between the given nodes with the given costs. More... | |
| NodeId | addEdgeBypassingCostAllocator (NodeId N1Id, NodeId N2Id, OtherMatrixPtrT Costs) |
| Add an edge bypassing the cost allocator. More... | |
| bool | empty () const |
| Returns true if the graph is empty. More... | |
| NodeIdSet | nodeIds () const |
| EdgeIdSet | edgeIds () const |
| AdjEdgeIdSet | adjEdgeIds (NodeId NId) |
| unsigned | getNumNodes () const |
| Get the number of nodes in the graph. More... | |
| unsigned | getNumEdges () const |
| Get the number of edges in the graph. More... | |
| void | setNodeCosts (NodeId NId, OtherVectorT Costs) |
| Set a node's cost vector. More... | |
| const VectorPtr & | getNodeCostsPtr (NodeId NId) const |
| Get a VectorPtr to a node's cost vector. More... | |
| const Vector & | getNodeCosts (NodeId NId) const |
| Get a node's cost vector. More... | |
| NodeMetadata & | getNodeMetadata (NodeId NId) |
| const NodeMetadata & | getNodeMetadata (NodeId NId) const |
| NodeEntry::AdjEdgeList::size_type | getNodeDegree (NodeId NId) const |
| void | updateEdgeCosts (EdgeId EId, OtherMatrixT Costs) |
| Update an edge's cost matrix. More... | |
| const MatrixPtr & | getEdgeCostsPtr (EdgeId EId) const |
| Get a MatrixPtr to a node's cost matrix. More... | |
| const Matrix & | getEdgeCosts (EdgeId EId) const |
| Get an edge's cost matrix. More... | |
| EdgeMetadata & | getEdgeMetadata (EdgeId EId) |
| const EdgeMetadata & | getEdgeMetadata (EdgeId EId) const |
| NodeId | getEdgeNode1Id (EdgeId EId) const |
| Get the first node connected to this edge. More... | |
| NodeId | getEdgeNode2Id (EdgeId EId) const |
| Get the second node connected to this edge. More... | |
| NodeId | getEdgeOtherNodeId (EdgeId EId, NodeId NId) |
| Get the "other" node connected to this edge. More... | |
| EdgeId | findEdge (NodeId N1Id, NodeId N2Id) |
| Get the edge connecting two nodes. More... | |
| void | removeNode (NodeId NId) |
| Remove a node from the graph. More... | |
| void | disconnectEdge (EdgeId EId, NodeId NId) |
| Disconnect an edge from the given node. More... | |
| void | disconnectAllNeighborsFromNode (NodeId NId) |
| Convenience method to disconnect all neighbours from the given node. More... | |
| void | reconnectEdge (EdgeId EId, NodeId NId) |
| Re-attach an edge to its nodes. More... | |
| void | removeEdge (EdgeId EId) |
| Remove an edge from the graph. More... | |
| void | clear () |
| Remove all nodes and edges from the graph. More... | |
Additional Inherited Members | |
Public Types inherited from llvm::PBQP::Graph< RegAllocSolverImpl > | |
| using | RawVector = typename RegAllocSolverImpl ::RawVector |
| using | RawMatrix = typename RegAllocSolverImpl ::RawMatrix |
| using | Vector = typename RegAllocSolverImpl ::Vector |
| using | Matrix = typename RegAllocSolverImpl ::Matrix |
| using | VectorPtr = typename CostAllocator::VectorPtr |
| using | MatrixPtr = typename CostAllocator::MatrixPtr |
| using | NodeMetadata = typename RegAllocSolverImpl ::NodeMetadata |
| using | EdgeMetadata = typename RegAllocSolverImpl ::EdgeMetadata |
| using | GraphMetadata = typename RegAllocSolverImpl ::GraphMetadata |
| using | AdjEdgeItr = typename NodeEntry::AdjEdgeItr |
Public Types inherited from llvm::PBQP::GraphBase | |
| using | NodeId = unsigned |
| using | EdgeId = unsigned |
Static Public Member Functions inherited from llvm::PBQP::GraphBase | |
| static NodeId | invalidNodeId () |
| Returns a value representing an invalid (non-existent) node. More... | |
| static EdgeId | invalidEdgeId () |
| Returns a value representing an invalid (non-existent) edge. More... | |
Definition at line 501 of file RegAllocPBQP.h.
|
inline |
Definition at line 506 of file RegAllocPBQP.h.
References llvm::dump().
| LLVM_DUMP_METHOD void PBQP::RegAlloc::PBQPRAGraph::dump | ( | ) | const |
Dump this graph to dbgs().
Definition at line 910 of file RegAllocPBQP.cpp.
References llvm::dbgs(), and llvm::dump().
Referenced by normalizePBQPSpillWeight().
| LLVM_DUMP_METHOD void PBQP::RegAlloc::PBQPRAGraph::dump | ( | raw_ostream & | OS | ) | const |
Dump this graph to an output stream.
| OS | Output stream to print on. |
Definition at line 889 of file RegAllocPBQP.cpp.
References assert(), and PrintNodeInfo().
| void PBQP::RegAlloc::PBQPRAGraph::printDot | ( | raw_ostream & | OS | ) | const |
Print a representation of this graph in DOT format.
| OS | Output stream to print on. |
Definition at line 915 of file RegAllocPBQP.cpp.
References PrintNodeInfo().
1.8.13