LLVM  12.0.0git
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 (Register VReg)
 
Register 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 169 of file RegAllocPBQP.h.

Member Typedef Documentation

◆ AllowedRegVector

Definition at line 171 of file RegAllocPBQP.h.

◆ ReductionState

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

Definition at line 181 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

Definition at line 185 of file RegAllocPBQP.h.

References llvm::copy(), and Other.

◆ 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 208 of file RegAllocPBQP.h.

◆ getReductionState()

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

Definition at line 215 of file RegAllocPBQP.h.

◆ getVReg()

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

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

References llvm::find().

◆ operator=()

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

◆ setAllowedRegs()

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

Definition at line 205 of file RegAllocPBQP.h.

References llvm::move().

◆ setReductionState()

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

Definition at line 216 of file RegAllocPBQP.h.

References assert().

◆ setup()

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

◆ setVReg()

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

Definition at line 202 of file RegAllocPBQP.h.

◆ wasConservativelyAllocatable()

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

Definition at line 251 of file RegAllocPBQP.h.


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