State retained across or within an alias query.

Synopsis

Declared in <llvm/Analysis/AliasAnalysis.h>

class AAQueryInfo;

Description

This class stores info we want to provide to or retain within an alias query. By default, the root query is stateless and starts with a freshly constructed info object. Specific alias analyses can use this query info to store per‐query state that is important for recursive or nested queries to avoid recomputing. To enable preserving this state across multiple queries where safe (due to the IR not changing), use a BatchAAResults wrapper. The information stored in an AAQueryInfo is currently limitted to the caches used by BasicAA, but can further be extended to fit other AA needs.

Types

Name

Description

CacheEntry

Cached alias result and metadata about assumption use.

Type Aliases

Name

Description

AliasCacheT

Dense map type caching alias results for location pairs.

LocPair

Pair of cache locations used as an alias‐query cache key.

Member Functions

Name

Description

AAQueryInfo [constructor]

Construct query info over AAR using capture analysis CA.

Data Members

Name

Description

AAR

Alias analysis result aggregation used to perform this query.

AliasCache

Cache of alias results keyed by location pairs.

AssumptionBasedResults

Location pairs with an assumption‐based result currently stored.

CA

Capture analysis provider used by this query.

Depth

Query depth used to distinguish recursive queries.

MayBeCrossIteration

Tracks whether the accesses may be on different cycle iterations.

NumAssumptionUses

How many active NoAlias assumption uses there are.

UseDominatorTree

Whether alias analysis is allowed to use the dominator tree, for use by passes that lazily update the DT while performing AA queries.

Derived Classes

Name

Description

SimpleAAQueryInfo

AAQueryInfo that uses SimpleCaptureAnalysis.

Created with MrDocs