class RegAllocSolverImpl

Declaration

class RegAllocSolverImpl { /* full declaration omitted */ };

Declared at: llvm/include/llvm/CodeGen/RegAllocPBQP.h:270

Member Variables

private llvm::PBQP::RegAlloc::RegAllocSolverImpl::Graph& G
private llvm::PBQP::RegAlloc::RegAllocSolverImpl::NodeSet OptimallyReducibleNodes
private llvm::PBQP::RegAlloc::RegAllocSolverImpl::NodeSet ConservativelyAllocatableNodes
private llvm::PBQP::RegAlloc::RegAllocSolverImpl::NodeSet NotProvablyAllocatableNodes

Method Overview

  • public RegAllocSolverImpl(llvm::PBQP::RegAlloc::RegAllocSolverImpl::Graph & G)
  • public void handleAddEdge(llvm::PBQP::RegAlloc::RegAllocSolverImpl::EdgeId EId)
  • public void handleAddNode(llvm::PBQP::RegAlloc::RegAllocSolverImpl::NodeId NId)
  • public void handleDisconnectEdge(llvm::PBQP::RegAlloc::RegAllocSolverImpl::EdgeId EId, llvm::PBQP::RegAlloc::RegAllocSolverImpl::NodeId NId)
  • public void handleReconnectEdge(llvm::PBQP::RegAlloc::RegAllocSolverImpl::EdgeId EId, llvm::PBQP::RegAlloc::RegAllocSolverImpl::NodeId NId)
  • public void handleRemoveNode(llvm::PBQP::RegAlloc::RegAllocSolverImpl::NodeId NId)
  • public void handleSetNodeCosts(llvm::PBQP::RegAlloc::RegAllocSolverImpl::NodeId NId, const llvm::PBQP::RegAlloc::RegAllocSolverImpl::Vector & newCosts)
  • public void handleUpdateCosts(llvm::PBQP::RegAlloc::RegAllocSolverImpl::EdgeId EId, const llvm::PBQP::RegAlloc::RegAllocSolverImpl::Matrix & NewCosts)
  • private void moveToConservativelyAllocatableNodes(llvm::PBQP::RegAlloc::RegAllocSolverImpl::NodeId NId)
  • private void moveToNotProvablyAllocatableNodes(llvm::PBQP::RegAlloc::RegAllocSolverImpl::NodeId NId)
  • private void moveToOptimallyReducibleNodes(llvm::PBQP::RegAlloc::RegAllocSolverImpl::NodeId NId)
  • private void promote(llvm::PBQP::RegAlloc::RegAllocSolverImpl::NodeId NId, llvm::PBQP::RegAlloc::RegAllocSolverImpl::NodeMetadata & NMd)
  • private std::vector<GraphBase::NodeId> reduce()
  • private void removeFromCurrentSet(llvm::PBQP::RegAlloc::RegAllocSolverImpl::NodeId NId)
  • private void setup()
  • public llvm::PBQP::Solution solve()

Methods

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

Declared at: llvm/include/llvm/CodeGen/RegAllocPBQP.h:290

Parameters

llvm::PBQP::RegAlloc::RegAllocSolverImpl::Graph& G

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

Declared at: llvm/include/llvm/CodeGen/RegAllocPBQP.h:310

Parameters

llvm::PBQP::RegAlloc::RegAllocSolverImpl::EdgeId EId

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

Declared at: llvm/include/llvm/CodeGen/RegAllocPBQP.h:301

Parameters

llvm::PBQP::RegAlloc::RegAllocSolverImpl::NodeId NId

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

Declared at: llvm/include/llvm/CodeGen/RegAllocPBQP.h:315

Parameters

llvm::PBQP::RegAlloc::RegAllocSolverImpl::EdgeId EId
llvm::PBQP::RegAlloc::RegAllocSolverImpl::NodeId NId

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

Declared at: llvm/include/llvm/CodeGen/RegAllocPBQP.h:322

Parameters

llvm::PBQP::RegAlloc::RegAllocSolverImpl::EdgeId EId
llvm::PBQP::RegAlloc::RegAllocSolverImpl::NodeId NId

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

Declared at: llvm/include/llvm/CodeGen/RegAllocPBQP.h:307

Parameters

llvm::PBQP::RegAlloc::RegAllocSolverImpl::NodeId NId

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

Declared at: llvm/include/llvm/CodeGen/RegAllocPBQP.h:308

Parameters

llvm::PBQP::RegAlloc::RegAllocSolverImpl::NodeId NId
const llvm::PBQP::RegAlloc::RegAllocSolverImpl:: Vector& newCosts

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

Declared at: llvm/include/llvm/CodeGen/RegAllocPBQP.h:328

Parameters

llvm::PBQP::RegAlloc::RegAllocSolverImpl::EdgeId EId
const llvm::PBQP::RegAlloc::RegAllocSolverImpl:: Matrix& NewCosts

void moveToConservativelyAllocatableNodes(
    llvm::PBQP::RegAlloc::RegAllocSolverImpl::
        NodeId NId)

Declared at: llvm/include/llvm/CodeGen/RegAllocPBQP.h:396

Parameters

llvm::PBQP::RegAlloc::RegAllocSolverImpl::NodeId NId

void moveToNotProvablyAllocatableNodes(
    llvm::PBQP::RegAlloc::RegAllocSolverImpl::
        NodeId NId)

Declared at: llvm/include/llvm/CodeGen/RegAllocPBQP.h:403

Parameters

llvm::PBQP::RegAlloc::RegAllocSolverImpl::NodeId NId

void moveToOptimallyReducibleNodes(
    llvm::PBQP::RegAlloc::RegAllocSolverImpl::
        NodeId NId)

Declared at: llvm/include/llvm/CodeGen/RegAllocPBQP.h:389

Parameters

llvm::PBQP::RegAlloc::RegAllocSolverImpl::NodeId NId

void promote(
    llvm::PBQP::RegAlloc::RegAllocSolverImpl::
        NodeId NId,
    llvm::PBQP::RegAlloc::RegAllocSolverImpl::
        NodeMetadata& NMd)

Declared at: llvm/include/llvm/CodeGen/RegAllocPBQP.h:353

Parameters

llvm::PBQP::RegAlloc::RegAllocSolverImpl::NodeId NId
llvm::PBQP::RegAlloc::RegAllocSolverImpl:: NodeMetadata& NMd

std::vector<GraphBase::NodeId> reduce()

Declared at: llvm/include/llvm/CodeGen/RegAllocPBQP.h:428

void removeFromCurrentSet(
    llvm::PBQP::RegAlloc::RegAllocSolverImpl::
        NodeId NId)

Declared at: llvm/include/llvm/CodeGen/RegAllocPBQP.h:365

Parameters

llvm::PBQP::RegAlloc::RegAllocSolverImpl::NodeId NId

void setup()

Declared at: llvm/include/llvm/CodeGen/RegAllocPBQP.h:410

llvm::PBQP::Solution solve()

Declared at: llvm/include/llvm/CodeGen/RegAllocPBQP.h:292