LLVM  8.0.1
Classes | Public Types | Public Member Functions | List of all members
llvm::PBQP::RegAlloc::RegAllocSolverImpl Class Reference

#include "llvm/CodeGen/RegAllocPBQP.h"

Classes

struct  EdgeMetadata
 

Public Types

using RawVector = PBQP::Vector
 
using RawMatrix = PBQP::Matrix
 
using Vector = PBQP::Vector
 
using Matrix = RAMatrix
 
using CostAllocator = PBQP::PoolCostAllocator< Vector, Matrix >
 
using NodeId = GraphBase::NodeId
 
using EdgeId = GraphBase::EdgeId
 
using NodeMetadata = RegAlloc::NodeMetadata
 
using GraphMetadata = RegAlloc::GraphMetadata
 
using Graph = PBQP::Graph< RegAllocSolverImpl >
 

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 handleDisconnectEdge (EdgeId EId, NodeId NId)
 
void handleReconnectEdge (EdgeId EId, NodeId NId)
 
void handleUpdateCosts (EdgeId EId, const Matrix &NewCosts)
 

Detailed Description

Definition at line 268 of file RegAllocPBQP.h.

Member Typedef Documentation

◆ CostAllocator

Definition at line 277 of file RegAllocPBQP.h.

◆ EdgeId

Definition at line 280 of file RegAllocPBQP.h.

◆ Graph

Definition at line 286 of file RegAllocPBQP.h.

◆ GraphMetadata

Definition at line 284 of file RegAllocPBQP.h.

◆ Matrix

Definition at line 276 of file RegAllocPBQP.h.

◆ NodeId

Definition at line 279 of file RegAllocPBQP.h.

◆ NodeMetadata

Definition at line 282 of file RegAllocPBQP.h.

◆ RawMatrix

Definition at line 274 of file RegAllocPBQP.h.

◆ RawVector

Definition at line 273 of file RegAllocPBQP.h.

◆ Vector

Definition at line 275 of file RegAllocPBQP.h.

Constructor & Destructor Documentation

◆ RegAllocSolverImpl()

llvm::PBQP::RegAlloc::RegAllocSolverImpl::RegAllocSolverImpl ( Graph G)
inline

Definition at line 288 of file RegAllocPBQP.h.

Member Function Documentation

◆ handleAddEdge()

void llvm::PBQP::RegAlloc::RegAllocSolverImpl::handleAddEdge ( EdgeId  EId)
inline

Definition at line 308 of file RegAllocPBQP.h.

References G.

◆ handleAddNode()

void llvm::PBQP::RegAlloc::RegAllocSolverImpl::handleAddNode ( NodeId  NId)
inline

Definition at line 299 of file RegAllocPBQP.h.

References assert(), and G.

◆ handleDisconnectEdge()

void llvm::PBQP::RegAlloc::RegAllocSolverImpl::handleDisconnectEdge ( EdgeId  EId,
NodeId  NId 
)
inline

Definition at line 313 of file RegAllocPBQP.h.

References G, and llvm::PBQP::RegAlloc::NodeMetadata::handleRemoveEdge().

◆ handleReconnectEdge()

void llvm::PBQP::RegAlloc::RegAllocSolverImpl::handleReconnectEdge ( EdgeId  EId,
NodeId  NId 
)
inline

Definition at line 320 of file RegAllocPBQP.h.

References G, and llvm::PBQP::RegAlloc::NodeMetadata::handleAddEdge().

◆ handleRemoveNode()

void llvm::PBQP::RegAlloc::RegAllocSolverImpl::handleRemoveNode ( NodeId  NId)
inline

Definition at line 305 of file RegAllocPBQP.h.

◆ handleSetNodeCosts()

void llvm::PBQP::RegAlloc::RegAllocSolverImpl::handleSetNodeCosts ( NodeId  NId,
const Vector newCosts 
)
inline

Definition at line 306 of file RegAllocPBQP.h.

◆ handleUpdateCosts()

void llvm::PBQP::RegAlloc::RegAllocSolverImpl::handleUpdateCosts ( EdgeId  EId,
const Matrix NewCosts 
)
inline

◆ solve()

Solution llvm::PBQP::RegAlloc::RegAllocSolverImpl::solve ( )
inline

Definition at line 290 of file RegAllocPBQP.h.

References llvm::PBQP::backpropagate(), G, and reduce.

Referenced by llvm::PBQP::RegAlloc::solve().


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