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().