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

Holds solver state and other metadata relevant to each PBQP RA node. More...

#include "llvm/CodeGen/RegAllocPBQP.h"

Public Types

using AllowedRegVector = RegAlloc::AllowedRegVector
 
using ReductionState = enum { Unprocessed, NotProvablyAllocatable, ConservativelyAllocatable, OptimallyReducible }
 

Public Member Functions

 NodeMetadata ()=default
 
 NodeMetadata (const NodeMetadata &Other)
 
 NodeMetadata (NodeMetadata &&)=default
 
NodeMetadataoperator= (NodeMetadata &&)=default
 
void setVReg (unsigned VReg)
 
unsigned getVReg () const
 
void setAllowedRegs (GraphMetadata::AllowedRegVecRef AllowedRegs)
 
const AllowedRegVectorgetAllowedRegs () const
 
void setup (const Vector &Costs)
 
ReductionState getReductionState () const
 
void setReductionState (ReductionState RS)
 
void handleAddEdge (const MatrixMetadata &MD, bool Transpose)
 
void handleRemoveEdge (const MatrixMetadata &MD, bool Transpose)
 
bool isConservativelyAllocatable () const
 
bool wasConservativelyAllocatable () const
 

Detailed Description

Holds solver state and other metadata relevant to each PBQP RA node.

Definition at line 168 of file RegAllocPBQP.h.

Member Typedef Documentation

◆ AllowedRegVector

Definition at line 170 of file RegAllocPBQP.h.

◆ ReductionState

using llvm::PBQP::RegAlloc::NodeMetadata::ReductionState = enum { Unprocessed, NotProvablyAllocatable, ConservativelyAllocatable, OptimallyReducible }

Definition at line 180 of file RegAllocPBQP.h.

Constructor & Destructor Documentation

◆ NodeMetadata() [1/3]

llvm::PBQP::RegAlloc::NodeMetadata::NodeMetadata ( )
default

◆ NodeMetadata() [2/3]

llvm::PBQP::RegAlloc::NodeMetadata::NodeMetadata ( const NodeMetadata Other)
inline

◆ NodeMetadata() [3/3]

llvm::PBQP::RegAlloc::NodeMetadata::NodeMetadata ( NodeMetadata &&  )
default

Member Function Documentation

◆ getAllowedRegs()

const AllowedRegVector& llvm::PBQP::RegAlloc::NodeMetadata::getAllowedRegs ( ) const
inline

Definition at line 207 of file RegAllocPBQP.h.

◆ getReductionState()

ReductionState llvm::PBQP::RegAlloc::NodeMetadata::getReductionState ( ) const
inline

◆ getVReg()

unsigned llvm::PBQP::RegAlloc::NodeMetadata::getVReg ( ) const
inline

Definition at line 202 of file RegAllocPBQP.h.

◆ handleAddEdge()

void llvm::PBQP::RegAlloc::NodeMetadata::handleAddEdge ( const MatrixMetadata MD,
bool  Transpose 
)
inline

◆ handleRemoveEdge()

void llvm::PBQP::RegAlloc::NodeMetadata::handleRemoveEdge ( const MatrixMetadata MD,
bool  Transpose 
)
inline

◆ isConservativelyAllocatable()

bool llvm::PBQP::RegAlloc::NodeMetadata::isConservativelyAllocatable ( ) const
inline

Definition at line 243 of file RegAllocPBQP.h.

References llvm::find().

Referenced by llvm::PBQP::RegAlloc::RegAllocSolverImpl::handleUpdateCosts().

◆ operator=()

NodeMetadata& llvm::PBQP::RegAlloc::NodeMetadata::operator= ( NodeMetadata &&  )
default

◆ setAllowedRegs()

void llvm::PBQP::RegAlloc::NodeMetadata::setAllowedRegs ( GraphMetadata::AllowedRegVecRef  AllowedRegs)
inline

Definition at line 204 of file RegAllocPBQP.h.

◆ setReductionState()

void llvm::PBQP::RegAlloc::NodeMetadata::setReductionState ( ReductionState  RS)
inline

Definition at line 215 of file RegAllocPBQP.h.

References assert().

◆ setup()

void llvm::PBQP::RegAlloc::NodeMetadata::setup ( const Vector Costs)
inline

Definition at line 209 of file RegAllocPBQP.h.

References llvm::PBQP::Vector::getLength().

◆ setVReg()

void llvm::PBQP::RegAlloc::NodeMetadata::setVReg ( unsigned  VReg)
inline

Definition at line 201 of file RegAllocPBQP.h.

◆ wasConservativelyAllocatable()

bool llvm::PBQP::RegAlloc::NodeMetadata::wasConservativelyAllocatable ( ) const
inline

Definition at line 250 of file RegAllocPBQP.h.


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