LLVM
15.0.0git
|
This class stores info we want to provide to or retain within an alias query. More...
#include "llvm/Analysis/AliasAnalysis.h"
Classes | |
struct | CacheEntry |
Public Types | |
using | LocPair = std::pair< AACacheLoc, AACacheLoc > |
using | AliasCacheT = SmallDenseMap< LocPair, CacheEntry, 8 > |
Public Member Functions | |
AAQueryInfo (CaptureInfo *CI) | |
AAQueryInfo | withEmptyCache () |
Create a new AAQueryInfo based on this one, but with the cache cleared. More... | |
Public Attributes | |
AliasCacheT | AliasCache |
CaptureInfo * | CI |
unsigned | Depth = 0 |
Query depth used to distinguish recursive queries. More... | |
int | NumAssumptionUses = 0 |
How many active NoAlias assumption uses there are. More... | |
SmallVector< AAQueryInfo::LocPair, 4 > | AssumptionBasedResults |
Location pairs for which an assumption based result is currently stored. More... | |
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.
Definition at line 462 of file AliasAnalysis.h.
using llvm::AAQueryInfo::AliasCacheT = SmallDenseMap<LocPair, CacheEntry, 8> |
Definition at line 473 of file AliasAnalysis.h.
using llvm::AAQueryInfo::LocPair = std::pair<AACacheLoc, AACacheLoc> |
Definition at line 464 of file AliasAnalysis.h.
|
inline |
Definition at line 489 of file AliasAnalysis.h.
|
inline |
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.
Definition at line 494 of file AliasAnalysis.h.
AliasCacheT llvm::AAQueryInfo::AliasCache |
Definition at line 474 of file AliasAnalysis.h.
SmallVector<AAQueryInfo::LocPair, 4> llvm::AAQueryInfo::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.
Definition at line 487 of file AliasAnalysis.h.
CaptureInfo* llvm::AAQueryInfo::CI |
Definition at line 476 of file AliasAnalysis.h.
Referenced by llvm::BasicAAResult::getModRefInfo(), and withEmptyCache().
unsigned llvm::AAQueryInfo::Depth = 0 |
Query depth used to distinguish recursive queries.
Definition at line 479 of file AliasAnalysis.h.
Referenced by withEmptyCache().
int llvm::AAQueryInfo::NumAssumptionUses = 0 |
How many active NoAlias assumption uses there are.
Definition at line 482 of file AliasAnalysis.h.