Lines Matching refs:ToTy
3369 template <typename ToTy> struct ReachabilityQueryInfo {
3378 const ToTy *To = nullptr;
3390 using PairDMI = DenseMapInfo<std::pair<const Instruction *, const ToTy *>>; in computeHashValue()
3391 return const_cast<ReachabilityQueryInfo<ToTy> *>(this)->Hash = in computeHashValue()
3396 ReachabilityQueryInfo(const Instruction *From, const ToTy *To) in ReachabilityQueryInfo()
3401 ReachabilityQueryInfo(Attributor &A, const Instruction &From, const ToTy &To, in ReachabilityQueryInfo()
3417 template <typename ToTy> struct DenseMapInfo<ReachabilityQueryInfo<ToTy> *> {
3419 using PairDMI = DenseMapInfo<std::pair<const Instruction *, const ToTy *>>;
3421 static ReachabilityQueryInfo<ToTy> EmptyKey;
3422 static ReachabilityQueryInfo<ToTy> TombstoneKey;
3424 static inline ReachabilityQueryInfo<ToTy> *getEmptyKey() { return &EmptyKey; } in getEmptyKey()
3425 static inline ReachabilityQueryInfo<ToTy> *getTombstoneKey() { in getTombstoneKey()
3428 static unsigned getHashValue(const ReachabilityQueryInfo<ToTy> *RQI) { in getHashValue()
3431 static bool isEqual(const ReachabilityQueryInfo<ToTy> *LHS, in isEqual()
3432 const ReachabilityQueryInfo<ToTy> *RHS) { in isEqual()
3439 #define DefineKeys(ToTy) \ argument
3441 ReachabilityQueryInfo<ToTy> \
3442 DenseMapInfo<ReachabilityQueryInfo<ToTy> *>::EmptyKey = \
3443 ReachabilityQueryInfo<ToTy>( \
3445 DenseMapInfo<const ToTy *>::getEmptyKey()); \
3447 ReachabilityQueryInfo<ToTy> \
3448 DenseMapInfo<ReachabilityQueryInfo<ToTy> *>::TombstoneKey = \
3449 ReachabilityQueryInfo<ToTy>( \
3451 DenseMapInfo<const ToTy *>::getTombstoneKey());
3460 template <typename BaseTy, typename ToTy>
3462 using RQITy = ReachabilityQueryInfo<ToTy>;