Common provider for legacy and new pass managers.
Declared in <llvm/CodeGen/RegAllocEvictionAdvisor.h>
class RegAllocEvictionAdvisorProvider;
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.
| Name | Description |
|---|---|
AdvisorMode | Which eviction advisor implementation to construct. |
| Name | Description |
|---|---|
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. |
| Name | Description |
|---|---|
Ctx | LLVM context used when constructing advisors and loggers. |
| Name | Description |
|---|---|
createDevelopmentModeAdvisorProvider | Create a development-mode ML eviction advisor provider. |
createReleaseModeAdvisorProvider | Create a release-mode ML eviction advisor provider. |