LLVM  4.0.0
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 <RegAllocPBQP.h>

Public Types

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

Public Member Functions

 NodeMetadata ()
 
 NodeMetadata (const NodeMetadata &Other)
 
 NodeMetadata (NodeMetadata &&Other)=default
 
NodeMetadataoperator= (NodeMetadata &&Other)=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 157 of file RegAllocPBQP.h.

Member Typedef Documentation

Definition at line 159 of file RegAllocPBQP.h.

Member Enumeration Documentation

Enumerator
Unprocessed 
NotProvablyAllocatable 
ConservativelyAllocatable 
OptimallyReducible 

Definition at line 164 of file RegAllocPBQP.h.

Constructor & Destructor Documentation

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

Definition at line 171 of file RegAllocPBQP.h.

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

Definition at line 179 of file RegAllocPBQP.h.

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

Member Function Documentation

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

Definition at line 203 of file RegAllocPBQP.h.

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

Definition at line 210 of file RegAllocPBQP.h.

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

Definition at line 198 of file RegAllocPBQP.h.

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

Definition at line 239 of file RegAllocPBQP.h.

References llvm::find().

NodeMetadata& llvm::PBQP::RegAlloc::NodeMetadata::operator= ( NodeMetadata &&  Other)
default
void llvm::PBQP::RegAlloc::NodeMetadata::setAllowedRegs ( GraphMetadata::AllowedRegVecRef  AllowedRegs)
inline

Definition at line 200 of file RegAllocPBQP.h.

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

Definition at line 211 of file RegAllocPBQP.h.

References assert(), and ConservativelyAllocatable.

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

Definition at line 197 of file RegAllocPBQP.h.

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

Definition at line 246 of file RegAllocPBQP.h.


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