LLVM  9.0.0svn
Public Types | Public Member Functions | Public Attributes | List of all members
llvm::AAQueryInfo Class Reference

This class stores info we want to provide to or retain within an alias query. More...

#include "llvm/Analysis/AliasAnalysis.h"

Collaboration diagram for llvm::AAQueryInfo:
Collaboration graph
[legend]

Public Types

using LocPair = std::pair< MemoryLocation, MemoryLocation >
 
using AliasCacheT = SmallDenseMap< LocPair, AliasResult, 8 >
 
using IsCapturedCacheT = SmallDenseMap< const Value *, bool, 8 >
 

Public Member Functions

 AAQueryInfo ()
 

Public Attributes

AliasCacheT AliasCache
 
IsCapturedCacheT IsCapturedCache
 

Detailed 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.

Definition at line 297 of file AliasAnalysis.h.

Member Typedef Documentation

◆ AliasCacheT

Definition at line 300 of file AliasAnalysis.h.

◆ IsCapturedCacheT

Definition at line 303 of file AliasAnalysis.h.

◆ LocPair

Definition at line 299 of file AliasAnalysis.h.

Constructor & Destructor Documentation

◆ AAQueryInfo()

llvm::AAQueryInfo::AAQueryInfo ( )
inline

Definition at line 306 of file AliasAnalysis.h.

Member Data Documentation

◆ AliasCache

AliasCacheT llvm::AAQueryInfo::AliasCache

Definition at line 301 of file AliasAnalysis.h.

Referenced by llvm::BasicAAResult::alias(), and MergeAliasResults().

◆ IsCapturedCache

IsCapturedCacheT llvm::AAQueryInfo::IsCapturedCache

Definition at line 304 of file AliasAnalysis.h.

Referenced by llvm::BasicAAResult::getModRefInfo(), and MergeAliasResults().


The documentation for this class was generated from the following file: