llvm::RegAllocEvictionAdvisorProvider

Common provider for legacy and new pass managers.

Synopsis

Declared in <llvm/CodeGen/RegAllocEvictionAdvisor.h>

class RegAllocEvictionAdvisorProvider;

Description

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.

Enums

NameDescription
AdvisorMode Which eviction advisor implementation to construct.

Member Functions

NameDescription
RegAllocEvictionAdvisorProvider [constructor]Construct a provider for advisor mode Mode using context Ctx.
~RegAllocEvictionAdvisorProvider [destructor] [virtual]Destroy this provider.
getAdvisor [virtual]Create an eviction advisor for MF and allocator RA.
getAdvisorMode Return the advisor mode this provider was constructed with.
logRewardIfNeeded [virtual]Log a reward for MF when the advisor mode requires it.

Protected Data Members

NameDescription
Ctx LLVM context used when constructing advisors and loggers.

Non-Member Functions

NameDescription
createDevelopmentModeAdvisorProviderCreate a development-mode ML eviction advisor provider.
createReleaseModeAdvisorProviderCreate a release-mode ML eviction advisor provider.