LLVM: llvm::RegAllocEvictionAdvisorProvider Class Reference (original) (raw)

Common provider for legacy and new pass managers. More...

#include "[llvm/CodeGen/RegAllocEvictionAdvisor.h](RegAllocEvictionAdvisor%5F8h%5Fsource.html)"

Public Types
enum class AdvisorMode : int { Default, Release, Development }
Public Member Functions
RegAllocEvictionAdvisorProvider (AdvisorMode Mode, LLVMContext &Ctx)
virtual ~RegAllocEvictionAdvisorProvider ()=default
virtual void logRewardIfNeeded (const MachineFunction &MF, llvm::function_ref< float()> GetReward)
virtual std::unique_ptr< RegAllocEvictionAdvisor > getAdvisor (const MachineFunction &MF, const RAGreedy &RA, MachineBlockFrequencyInfo *MBFI, MachineLoopInfo *Loops)=0
AdvisorMode getAdvisorMode () const

Detailed Description

Common provider for legacy and new pass managers.

This keeps the state for logging, and sets up and holds the provider. The legacy pass itself used to keep the logging state and provider, so this extraction helps the NPM analysis to reuse the logic. TODO: Coalesce this with the NPM analysis when legacy PM is removed.

Definition at line 160 of file RegAllocEvictionAdvisor.h.

Member Enumeration Documentation

AdvisorMode

Constructor & Destructor Documentation

llvm::RegAllocEvictionAdvisorProvider::RegAllocEvictionAdvisorProvider ( AdvisorMode Mode, LLVMContext & Ctx ) inline

~RegAllocEvictionAdvisorProvider()

virtual llvm::RegAllocEvictionAdvisorProvider::~RegAllocEvictionAdvisorProvider ( ) virtualdefault

Member Function Documentation

getAdvisor()

getAdvisorMode()

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

logRewardIfNeeded()

Member Data Documentation

Ctx

LLVMContext& llvm::RegAllocEvictionAdvisorProvider::Ctx protected

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