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

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 )

◆ RegAllocPriorityAdvisor() [2/3]

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

◆ ~RegAllocPriorityAdvisor()

virtual llvm::RegAllocPriorityAdvisor::~RegAllocPriorityAdvisor ( )

◆ 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

Definition at line 44 of file RegAllocPriorityAdvisor.h.


LiveIntervals* const llvm::RegAllocPriorityAdvisor::LIS

Definition at line 39 of file RegAllocPriorityAdvisor.h.


MachineRegisterInfo* const llvm::RegAllocPriorityAdvisor::MRI

Definition at line 41 of file RegAllocPriorityAdvisor.h.

◆ RA

const RAGreedy& llvm::RegAllocPriorityAdvisor::RA

Definition at line 38 of file RegAllocPriorityAdvisor.h.

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

◆ RegClassInfo

const RegisterClassInfo& llvm::RegAllocPriorityAdvisor::RegClassInfo

Definition at line 43 of file RegAllocPriorityAdvisor.h.

◆ RegClassPriorityTrumpsGlobalness

const bool llvm::RegAllocPriorityAdvisor::RegClassPriorityTrumpsGlobalness

Definition at line 45 of file RegAllocPriorityAdvisor.h.

◆ ReverseLocalAssignment

const bool llvm::RegAllocPriorityAdvisor::ReverseLocalAssignment

Definition at line 46 of file RegAllocPriorityAdvisor.h.


const TargetRegisterInfo* const llvm::RegAllocPriorityAdvisor::TRI

Definition at line 42 of file RegAllocPriorityAdvisor.h.


VirtRegMap* const llvm::RegAllocPriorityAdvisor::VRM

Definition at line 40 of file RegAllocPriorityAdvisor.h.

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