class AAQueryInfo
Declaration
class AAQueryInfo { /* full declaration omitted */ };
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.
Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:462
Member Variables
- public llvm::AAQueryInfo::AliasCacheT AliasCache
- public llvm::CaptureInfo* CI
- public unsigned int Depth = 0
- Query depth used to distinguish recursive queries.
- public int NumAssumptionUses = 0
- How many active NoAlias assumption uses there are.
- public SmallVector<AAQueryInfo::LocPair, 4> AssumptionBasedResults
- Location pairs for which an assumption based result is currently stored. Used to remove all potentially incorrect results from the cache if an assumption is disproven.
Method Overview
- public AAQueryInfo(llvm::CaptureInfo * CI)
- public llvm::AAQueryInfo withEmptyCache()
Methods
¶AAQueryInfo(llvm::CaptureInfo* CI)
AAQueryInfo(llvm::CaptureInfo* CI)
Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:489
Parameters
¶llvm::AAQueryInfo withEmptyCache()
llvm::AAQueryInfo withEmptyCache()
Description
Create a new AAQueryInfo based on this one, but with the cache cleared. This is used for recursive queries across phis, where cache results may not be valid.
Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:494