LLVM 20.0.0git
Public Types | Public Member Functions | Public Attributes | List of all members
ReachabilityQueryInfo< ToTy > Struct Template Reference

----------------—AAIntraFnReachability Attribute-----------------------— More...

Public Types

enum class  Reachable { No , Yes }
 

Public Member Functions

unsigned computeHashValue () const
 
 ReachabilityQueryInfo (const Instruction *From, const ToTy *To)
 
 ReachabilityQueryInfo (Attributor &A, const Instruction &From, const ToTy &To, const AA::InstExclusionSetTy *ES, bool MakeUnique)
 Constructor replacement to ensure unique and stable sets are used for the cache.
 
 ReachabilityQueryInfo (const ReachabilityQueryInfo &RQI)
 

Public Attributes

const InstructionFrom = nullptr
 Start here,.
 
const ToTy * To = nullptr
 reach this place,
 
const AA::InstExclusionSetTyExclusionSet = nullptr
 without going through any of these instructions,
 
Reachable Result = Reachable::No
 and remember if it worked:
 
unsigned Hash = 0
 Precomputed hash for this RQI.
 

Detailed Description

template<typename ToTy>
struct ReachabilityQueryInfo< ToTy >

----------------—AAIntraFnReachability Attribute-----------------------—

All information associated with a reachability query. This boilerplate code is used by both AAIntraFnReachability and AAInterFnReachability, with different ToTy values.

Definition at line 3375 of file AttributorAttributes.cpp.

Member Enumeration Documentation

◆ Reachable

template<typename ToTy >
enum class ReachabilityQueryInfo::Reachable
strong
Enumerator
No 
Yes 

Definition at line 3376 of file AttributorAttributes.cpp.

Constructor & Destructor Documentation

◆ ReachabilityQueryInfo() [1/3]

template<typename ToTy >
ReachabilityQueryInfo< ToTy >::ReachabilityQueryInfo ( const Instruction From,
const ToTy *  To 
)
inline

Definition at line 3402 of file AttributorAttributes.cpp.

◆ ReachabilityQueryInfo() [2/3]

template<typename ToTy >
ReachabilityQueryInfo< ToTy >::ReachabilityQueryInfo ( Attributor A,
const Instruction From,
const ToTy &  To,
const AA::InstExclusionSetTy ES,
bool  MakeUnique 
)
inline

Constructor replacement to ensure unique and stable sets are used for the cache.

Definition at line 3407 of file AttributorAttributes.cpp.

References A, and llvm::SmallPtrSetImplBase::empty().

◆ ReachabilityQueryInfo() [3/3]

template<typename ToTy >
ReachabilityQueryInfo< ToTy >::ReachabilityQueryInfo ( const ReachabilityQueryInfo< ToTy > &  RQI)
inline

Definition at line 3418 of file AttributorAttributes.cpp.

Member Function Documentation

◆ computeHashValue()

template<typename ToTy >
unsigned ReachabilityQueryInfo< ToTy >::computeHashValue ( ) const
inline

Member Data Documentation

◆ ExclusionSet

template<typename ToTy >
const AA::InstExclusionSetTy* ReachabilityQueryInfo< ToTy >::ExclusionSet = nullptr

without going through any of these instructions,

Definition at line 3386 of file AttributorAttributes.cpp.

◆ From

template<typename ToTy >
const Instruction* ReachabilityQueryInfo< ToTy >::From = nullptr

Start here,.

Definition at line 3382 of file AttributorAttributes.cpp.

◆ Hash

template<typename ToTy >
unsigned ReachabilityQueryInfo< ToTy >::Hash = 0

Precomputed hash for this RQI.

Definition at line 3391 of file AttributorAttributes.cpp.

Referenced by llvm::DenseMapInfo< ReachabilityQueryInfo< ToTy > * >::getHashValue().

◆ Result

template<typename ToTy >
Reachable ReachabilityQueryInfo< ToTy >::Result = Reachable::No

and remember if it worked:

Definition at line 3388 of file AttributorAttributes.cpp.

◆ To

template<typename ToTy >
const ToTy* ReachabilityQueryInfo< ToTy >::To = nullptr

reach this place,

Definition at line 3384 of file AttributorAttributes.cpp.


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