LLVM 22.0.0git
Public Types | Public Member Functions | List of all members
llvm::RegAllocPriorityAdvisorProvider Class Referenceabstract

Common provider for getting the priority advisor and logging rewards. More...

#include "llvm/CodeGen/RegAllocPriorityAdvisor.h"

Inheritance diagram for llvm::RegAllocPriorityAdvisorProvider:
[legend]

Public Types

enum class  AdvisorMode : int { Default , Release , Development , Dummy }
 

Public Member Functions

 RegAllocPriorityAdvisorProvider (AdvisorMode Mode)
 
virtual ~RegAllocPriorityAdvisorProvider ()=default
 
virtual void logRewardIfNeeded (const MachineFunction &MF, function_ref< float()> GetReward)
 
virtual std::unique_ptr< RegAllocPriorityAdvisorgetAdvisor (const MachineFunction &MF, const RAGreedy &RA, SlotIndexes &SI)=0
 
AdvisorMode getAdvisorMode () const
 

Detailed Description

Common provider for getting the priority advisor and logging rewards.

Legacy analysis forwards all calls to this provider. New analysis serves the provider as the analysis result. Expensive setup is done in the constructor, so that the advisor can be created quickly for every machine function. TODO: Remove once legacy PM support is dropped.

Definition at line 79 of file RegAllocPriorityAdvisor.h.

Member Enumeration Documentation

◆ AdvisorMode

Enumerator
Default 
Release 
Development 
Dummy 

Definition at line 81 of file RegAllocPriorityAdvisor.h.

Constructor & Destructor Documentation

◆ RegAllocPriorityAdvisorProvider()

llvm::RegAllocPriorityAdvisorProvider::RegAllocPriorityAdvisorProvider ( AdvisorMode  Mode)
inline

Definition at line 83 of file RegAllocPriorityAdvisor.h.

◆ ~RegAllocPriorityAdvisorProvider()

virtual llvm::RegAllocPriorityAdvisorProvider::~RegAllocPriorityAdvisorProvider ( )
virtualdefault

Member Function Documentation

◆ getAdvisor()

virtual std::unique_ptr< RegAllocPriorityAdvisor > llvm::RegAllocPriorityAdvisorProvider::getAdvisor ( const MachineFunction MF,
const RAGreedy RA,
SlotIndexes SI 
)
pure virtual

◆ getAdvisorMode()

AdvisorMode llvm::RegAllocPriorityAdvisorProvider::getAdvisorMode ( ) const
inline

Definition at line 94 of file RegAllocPriorityAdvisor.h.

◆ logRewardIfNeeded()

virtual void llvm::RegAllocPriorityAdvisorProvider::logRewardIfNeeded ( const MachineFunction MF,
function_ref< float()>  GetReward 
)
inlinevirtual

Definition at line 87 of file RegAllocPriorityAdvisor.h.


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