LLVM API Documentation
#include <RegAllocSolver.h>
Classes | |
struct | EdgeMetadata |
class | SpillCostComparator |
Public Types | |
typedef PBQP::Vector | RawVector |
typedef PBQP::Matrix | RawMatrix |
typedef PBQP::Vector | Vector |
typedef RAMatrix | Matrix |
typedef PBQP::PoolCostAllocator < Vector, PBQP::VectorComparator, Matrix, PBQP::MatrixComparator > | CostAllocator |
typedef PBQP::GraphBase::NodeId | NodeId |
typedef PBQP::GraphBase::EdgeId | EdgeId |
typedef RegAlloc::NodeMetadata | NodeMetadata |
typedef PBQP::Graph < RegAllocSolverImpl > | Graph |
Public Member Functions | |
RegAllocSolverImpl (Graph &G) | |
Solution | solve () |
void | handleAddNode (NodeId NId) |
void | handleRemoveNode (NodeId NId) |
void | handleSetNodeCosts (NodeId NId, const Vector &newCosts) |
void | handleAddEdge (EdgeId EId) |
void | handleRemoveEdge (EdgeId EId) |
void | handleDisconnectEdge (EdgeId EId, NodeId NId) |
void | handleReconnectEdge (EdgeId EId, NodeId NId) |
void | handleSetEdgeCosts (EdgeId EId, const Matrix &NewCosts) |
Definition at line 129 of file RegAllocSolver.h.
typedef PBQP::PoolCostAllocator< Vector, PBQP::VectorComparator, Matrix, PBQP::MatrixComparator> PBQP::RegAlloc::RegAllocSolverImpl::CostAllocator |
Definition at line 139 of file RegAllocSolver.h.
Definition at line 142 of file RegAllocSolver.h.
Definition at line 148 of file RegAllocSolver.h.
Definition at line 136 of file RegAllocSolver.h.
Definition at line 141 of file RegAllocSolver.h.
Definition at line 144 of file RegAllocSolver.h.
Definition at line 134 of file RegAllocSolver.h.
Definition at line 133 of file RegAllocSolver.h.
Definition at line 135 of file RegAllocSolver.h.
PBQP::RegAlloc::RegAllocSolverImpl::RegAllocSolverImpl | ( | Graph & | G | ) | [inline] |
Definition at line 150 of file RegAllocSolver.h.
void PBQP::RegAlloc::RegAllocSolverImpl::handleAddEdge | ( | EdgeId | EId | ) | [inline] |
Definition at line 167 of file RegAllocSolver.h.
References PBQP::Graph< SolverT >::getEdgeNode1Id(), PBQP::Graph< SolverT >::getEdgeNode2Id(), and handleReconnectEdge().
void PBQP::RegAlloc::RegAllocSolverImpl::handleAddNode | ( | NodeId | NId | ) | [inline] |
Definition at line 161 of file RegAllocSolver.h.
References PBQP::Graph< SolverT >::getNodeCosts(), PBQP::Graph< SolverT >::getNodeMetadata(), and PBQP::RegAlloc::NodeMetadata::setup().
void PBQP::RegAlloc::RegAllocSolverImpl::handleDisconnectEdge | ( | EdgeId | EId, |
NodeId | NId | ||
) | [inline] |
Definition at line 177 of file RegAllocSolver.h.
References PBQP::Graph< SolverT >::getEdgeCosts(), PBQP::Graph< SolverT >::getEdgeNode2Id(), PBQP::MDMatrix< Metadata >::getMetadata(), PBQP::Graph< SolverT >::getNodeDegree(), PBQP::Graph< SolverT >::getNodeMetadata(), PBQP::RegAlloc::NodeMetadata::getReductionState(), PBQP::RegAlloc::NodeMetadata::handleRemoveEdge(), PBQP::RegAlloc::NodeMetadata::isConservativelyAllocatable(), and PBQP::RegAlloc::NodeMetadata::NotProvablyAllocatable.
Referenced by handleRemoveEdge().
void PBQP::RegAlloc::RegAllocSolverImpl::handleReconnectEdge | ( | EdgeId | EId, |
NodeId | NId | ||
) | [inline] |
Definition at line 192 of file RegAllocSolver.h.
References PBQP::Graph< SolverT >::getEdgeCosts(), PBQP::Graph< SolverT >::getEdgeNode2Id(), PBQP::MDMatrix< Metadata >::getMetadata(), PBQP::Graph< SolverT >::getNodeMetadata(), and PBQP::RegAlloc::NodeMetadata::handleAddEdge().
Referenced by handleAddEdge().
void PBQP::RegAlloc::RegAllocSolverImpl::handleRemoveEdge | ( | EdgeId | EId | ) | [inline] |
Definition at line 172 of file RegAllocSolver.h.
References PBQP::Graph< SolverT >::getEdgeNode1Id(), PBQP::Graph< SolverT >::getEdgeNode2Id(), and handleDisconnectEdge().
Referenced by handleSetEdgeCosts().
void PBQP::RegAlloc::RegAllocSolverImpl::handleRemoveNode | ( | NodeId | NId | ) | [inline] |
Definition at line 164 of file RegAllocSolver.h.
void PBQP::RegAlloc::RegAllocSolverImpl::handleSetEdgeCosts | ( | EdgeId | EId, |
const Matrix & | NewCosts | ||
) | [inline] |
Definition at line 198 of file RegAllocSolver.h.
References PBQP::Graph< SolverT >::getEdgeNode1Id(), PBQP::Graph< SolverT >::getEdgeNode2Id(), PBQP::MDMatrix< Metadata >::getMetadata(), PBQP::Graph< SolverT >::getNodeMetadata(), PBQP::RegAlloc::NodeMetadata::handleAddEdge(), and handleRemoveEdge().
void PBQP::RegAlloc::RegAllocSolverImpl::handleSetNodeCosts | ( | NodeId | NId, |
const Vector & | newCosts | ||
) | [inline] |
Definition at line 165 of file RegAllocSolver.h.
Solution PBQP::RegAlloc::RegAllocSolverImpl::solve | ( | ) | [inline] |
Definition at line 152 of file RegAllocSolver.h.
References PBQP::backpropagate(), PBQP::Graph< SolverT >::setSolver(), and PBQP::Graph< SolverT >::unsetSolver().
Referenced by PBQP::RegAlloc::solve().