LLVM  16.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
 

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

◆ getReductionState()

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

Definition at line 216 of file RegAllocPBQP.h.

◆ getVReg()

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

Definition at line 204 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 245 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 206 of file RegAllocPBQP.h.

References move.

◆ setReductionState()

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

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


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