LLVM  10.0.0svn
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 167 of file RegAllocPBQP.h.

Member Typedef Documentation

◆ AllowedRegVector

Definition at line 169 of file RegAllocPBQP.h.

◆ ReductionState

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

Definition at line 179 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 206 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 201 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 242 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 203 of file RegAllocPBQP.h.

◆ setReductionState()

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

Definition at line 214 of file RegAllocPBQP.h.

References assert().

◆ setup()

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

Definition at line 208 of file RegAllocPBQP.h.

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

◆ setVReg()

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

Definition at line 200 of file RegAllocPBQP.h.

◆ wasConservativelyAllocatable()

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

Definition at line 249 of file RegAllocPBQP.h.


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