A manager for alias analyses.

Synopsis

Declared in <llvm/Analysis/AliasAnalysis.h>

class AAManager
    : public AnalysisInfoMixin<AAManager>

Description

This class can have analyses registered with it and when run, it will run all of them and aggregate their results into single AA results interface that dispatches across all of the alias analysis results available.

Note that the order in which analyses are registered is very significant. That is the order in which the results will be aggregated and queried.

This manager effectively wraps the AnalysisManager for registering alias analyses. When you register your alias analysis with this manager, it will ensure the analysis itself is registered with its AnalysisManager.

The result of this analysis is only invalidated if one of the particular aggregated AA results end up being invalidated. This removes the need to explicitly preserve the results of AAManager. Note that analyses should no longer be registered once the AAManager is run.

Base Classes

Name

Description

AnalysisInfoMixin<AAManager>

A CRTP mix‐in that provides informational APIs needed for analysis passes.

Type Aliases

Name

Description

Result

Aggregated AA results produced by this manager.

Member Functions

Name

Description

registerFunctionAnalysis

Register a specific AA result.

registerModuleAnalysis

Register a specific AA result.

run

Run registered alias analyses on F and aggregate their results.

Static Member Functions

Name

Description

ID

Returns an opaque, unique ID for this analysis type.

Friends

Name

Description

llvm::AnalysisInfoMixin

A CRTP mix‐in that provides informational APIs needed for analysis passes.

Created with MrDocs