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

Member Typedef Documentation

Definition at line 181 of file RegAllocPBQP.h.

Member Enumeration Documentation

Enumerator
Unprocessed 
NotProvablyAllocatable 
ConservativelyAllocatable 
OptimallyReducible 

Definition at line 186 of file RegAllocPBQP.h.

Constructor & Destructor Documentation

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

Definition at line 193 of file RegAllocPBQP.h.

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

Definition at line 203 of file RegAllocPBQP.h.

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

Definition at line 219 of file RegAllocPBQP.h.

Member Function Documentation

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

Definition at line 266 of file RegAllocPBQP.h.

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

Definition at line 273 of file RegAllocPBQP.h.

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

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

NodeMetadata& llvm::PBQP::RegAlloc::NodeMetadata::operator= ( const NodeMetadata Other)
inline

Definition at line 230 of file RegAllocPBQP.h.

NodeMetadata& llvm::PBQP::RegAlloc::NodeMetadata::operator= ( NodeMetadata &&  Other)
inline

Definition at line 247 of file RegAllocPBQP.h.

References Other.

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

Definition at line 263 of file RegAllocPBQP.h.

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

Definition at line 274 of file RegAllocPBQP.h.

References ConservativelyAllocatable.

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

Definition at line 260 of file RegAllocPBQP.h.

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

Definition at line 310 of file RegAllocPBQP.h.


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