LLVM 19.0.0git
Public Member Functions | Protected Attributes | List of all members
llvm::RegAllocPriorityAdvisor Class Referenceabstract

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

#include "CodeGen/RegAllocPriorityAdvisor.h"

Inheritance diagram for llvm::RegAllocPriorityAdvisor:
Inheritance graph
[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 24 of file RegAllocPriorityAdvisor.h.

Constructor & Destructor Documentation

◆ RegAllocPriorityAdvisor() [1/3]

llvm::RegAllocPriorityAdvisor::RegAllocPriorityAdvisor ( const RegAllocPriorityAdvisor )
delete

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

Definition at line 104 of file RegAllocPriorityAdvisor.cpp.

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.

Member Data Documentation

◆ Indexes

SlotIndexes* const llvm::RegAllocPriorityAdvisor::Indexes
protected

Definition at line 44 of file RegAllocPriorityAdvisor.h.

◆ LIS

LiveIntervals* const llvm::RegAllocPriorityAdvisor::LIS
protected

Definition at line 39 of file RegAllocPriorityAdvisor.h.

◆ MRI

MachineRegisterInfo* const llvm::RegAllocPriorityAdvisor::MRI
protected

Definition at line 41 of file RegAllocPriorityAdvisor.h.

◆ RA

const RAGreedy& llvm::RegAllocPriorityAdvisor::RA
protected

Definition at line 38 of file RegAllocPriorityAdvisor.h.

Referenced by llvm::MLPriorityAdvisor::getPriorityImpl().

◆ RegClassInfo

const RegisterClassInfo& llvm::RegAllocPriorityAdvisor::RegClassInfo
protected

Definition at line 43 of file RegAllocPriorityAdvisor.h.

◆ RegClassPriorityTrumpsGlobalness

const bool llvm::RegAllocPriorityAdvisor::RegClassPriorityTrumpsGlobalness
protected

Definition at line 45 of file RegAllocPriorityAdvisor.h.

◆ ReverseLocalAssignment

const bool llvm::RegAllocPriorityAdvisor::ReverseLocalAssignment
protected

Definition at line 46 of file RegAllocPriorityAdvisor.h.

◆ TRI

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

Definition at line 42 of file RegAllocPriorityAdvisor.h.

◆ VRM

VirtRegMap* const llvm::RegAllocPriorityAdvisor::VRM
protected

Definition at line 40 of file RegAllocPriorityAdvisor.h.


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