LLVM 22.0.0git
|
Common provider for getting the priority advisor and logging rewards. More...
#include "llvm/CodeGen/RegAllocPriorityAdvisor.h"
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< RegAllocPriorityAdvisor > | getAdvisor (const MachineFunction &MF, const RAGreedy &RA, SlotIndexes &SI)=0 |
AdvisorMode | getAdvisorMode () const |
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.
|
strong |
Enumerator | |
---|---|
Default | |
Release | |
Development | |
Dummy |
Definition at line 81 of file RegAllocPriorityAdvisor.h.
|
inline |
Definition at line 83 of file RegAllocPriorityAdvisor.h.
|
virtualdefault |
|
pure virtual |
Implemented in llvm::ReleaseModePriorityAdvisorProvider.
Referenced by INITIALIZE_PASS().
|
inline |
Definition at line 94 of file RegAllocPriorityAdvisor.h.
|
inlinevirtual |
Definition at line 87 of file RegAllocPriorityAdvisor.h.