LLVM 22.0.0git
llvm::RegAllocPriorityAdvisor Class Referenceabstract

Interface to the priority advisor, which is responsible for prioritizing live ranges. More...

#include "llvm/CodeGen/RegAllocPriorityAdvisor.h"

Inheritance diagram for llvm::RegAllocPriorityAdvisor:
[legend]

Public Member Functions

 RegAllocPriorityAdvisor (const RegAllocPriorityAdvisor &)=delete
 RegAllocPriorityAdvisor (RegAllocPriorityAdvisor &&)=delete
virtual ~RegAllocPriorityAdvisor ()=default
virtual unsigned getPriority (const LiveInterval &LI) const =0
 Find the priority value for a live range.
 RegAllocPriorityAdvisor (const MachineFunction &MF, const RAGreedy &RA, SlotIndexes *const Indexes)

Protected Attributes

const RAGreedyRA
LiveIntervals *const LIS
VirtRegMap *const VRM
MachineRegisterInfo *const MRI
const TargetRegisterInfo *const TRI
const RegisterClassInfoRegClassInfo
SlotIndexes *const Indexes
const bool RegClassPriorityTrumpsGlobalness
const bool ReverseLocalAssignment

Detailed Description

Interface to the priority advisor, which is responsible for prioritizing live ranges.

Definition at line 26 of file RegAllocPriorityAdvisor.h.

Constructor & Destructor Documentation

◆ RegAllocPriorityAdvisor() [1/3]

◆ RegAllocPriorityAdvisor() [2/3]

llvm::RegAllocPriorityAdvisor::RegAllocPriorityAdvisor ( RegAllocPriorityAdvisor && )
delete

◆ ~RegAllocPriorityAdvisor()

virtual llvm::RegAllocPriorityAdvisor::~RegAllocPriorityAdvisor ( )
virtualdefault

◆ RegAllocPriorityAdvisor() [3/3]

RegAllocPriorityAdvisor::RegAllocPriorityAdvisor ( const MachineFunction & MF,
const RAGreedy & RA,
SlotIndexes *const Indexes )

Member Function Documentation

◆ getPriority()

virtual unsigned llvm::RegAllocPriorityAdvisor::getPriority ( const LiveInterval & LI) const
pure virtual

Find the priority value for a live range.

A float value is used since ML prefers it.

Implemented in llvm::MLPriorityAdvisor.

References Indexes, and RA.

Member Data Documentation

◆ Indexes

◆ LIS

LiveIntervals* const llvm::RegAllocPriorityAdvisor::LIS
protected

Definition at line 41 of file RegAllocPriorityAdvisor.h.

Referenced by RegAllocPriorityAdvisor().

◆ MRI

MachineRegisterInfo* const llvm::RegAllocPriorityAdvisor::MRI
protected

Definition at line 43 of file RegAllocPriorityAdvisor.h.

Referenced by RegAllocPriorityAdvisor().

◆ RA

◆ RegClassInfo

const RegisterClassInfo& llvm::RegAllocPriorityAdvisor::RegClassInfo
protected

Definition at line 45 of file RegAllocPriorityAdvisor.h.

Referenced by RegAllocPriorityAdvisor().

◆ RegClassPriorityTrumpsGlobalness

const bool llvm::RegAllocPriorityAdvisor::RegClassPriorityTrumpsGlobalness
protected

Definition at line 47 of file RegAllocPriorityAdvisor.h.

Referenced by RegAllocPriorityAdvisor().

◆ ReverseLocalAssignment

const bool llvm::RegAllocPriorityAdvisor::ReverseLocalAssignment
protected

Definition at line 48 of file RegAllocPriorityAdvisor.h.

Referenced by RegAllocPriorityAdvisor().

◆ TRI

const TargetRegisterInfo* const llvm::RegAllocPriorityAdvisor::TRI
protected

Definition at line 44 of file RegAllocPriorityAdvisor.h.

Referenced by RegAllocPriorityAdvisor().

◆ VRM

VirtRegMap* const llvm::RegAllocPriorityAdvisor::VRM
protected

Definition at line 42 of file RegAllocPriorityAdvisor.h.

Referenced by RegAllocPriorityAdvisor().


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