LLVM 22.0.0git
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

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

◆ ReductionState

Initial value:
enum {
Unprocessed,
NotProvablyAllocatable,
ConservativelyAllocatable,
OptimallyReducible
}

Definition at line 176 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 if(), NodeMetadata(), and llvm::Other.

◆ NodeMetadata() [3/3]

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

References NodeMetadata().

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()

◆ handleRemoveEdge()

◆ isConservativelyAllocatable()

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

Definition at line 245 of file RegAllocPBQP.h.

◆ operator=()

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

References NodeMetadata().

◆ setAllowedRegs()

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

Definition at line 206 of file RegAllocPBQP.h.

◆ 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

Definition at line 211 of file RegAllocPBQP.h.

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

◆ 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: