LLVM 22.0.0git
llvm::PBQP::RegAlloc::RegAllocSolverImpl Class Reference

#include "llvm/CodeGen/RegAllocPBQP.h"

Classes

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 270 of file RegAllocPBQP.h.

Member Typedef Documentation

◆ CostAllocator

◆ EdgeId

◆ Graph

◆ GraphMetadata

◆ Matrix

◆ NodeId

◆ NodeMetadata

◆ RawMatrix

◆ RawVector

◆ Vector

Constructor & Destructor Documentation

◆ RegAllocSolverImpl()

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

Definition at line 290 of file RegAllocPBQP.h.

Member Function Documentation

◆ handleAddEdge()

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

Definition at line 310 of file RegAllocPBQP.h.

References handleReconnectEdge().

◆ handleAddNode()

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

Definition at line 301 of file RegAllocPBQP.h.

References assert().

◆ handleDisconnectEdge()

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

◆ handleReconnectEdge()

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

Definition at line 322 of file RegAllocPBQP.h.

References llvm::PBQP::RegAlloc::NodeMetadata::handleAddEdge().

Referenced by handleAddEdge().

◆ handleRemoveNode()

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

Definition at line 307 of file RegAllocPBQP.h.

◆ handleSetNodeCosts()

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

Definition at line 308 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 292 of file RegAllocPBQP.h.

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

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


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