Lines Matching defs:ToTy
3413 /// different \p ToTy values.
3414 template <typename ToTy> struct ReachabilityQueryInfo {
3423 const ToTy *To = nullptr;
3435 using PairDMI = DenseMapInfo<std::pair<const Instruction *, const ToTy *>>;
3436 return const_cast<ReachabilityQueryInfo<ToTy> *>(this)->Hash =
3441 ReachabilityQueryInfo(const Instruction *From, const ToTy *To)
3446 ReachabilityQueryInfo(Attributor &A, const Instruction &From, const ToTy &To,
3462 template <typename ToTy> struct DenseMapInfo<ReachabilityQueryInfo<ToTy> *> {
3464 using PairDMI = DenseMapInfo<std::pair<const Instruction *, const ToTy *>>;
3466 static ReachabilityQueryInfo<ToTy> EmptyKey;
3467 static ReachabilityQueryInfo<ToTy> TombstoneKey;
3469 static inline ReachabilityQueryInfo<ToTy> *getEmptyKey() { return &EmptyKey; }
3470 static inline ReachabilityQueryInfo<ToTy> *getTombstoneKey() {
3473 static unsigned getHashValue(const ReachabilityQueryInfo<ToTy> *RQI) {
3476 static bool isEqual(const ReachabilityQueryInfo<ToTy> *LHS,
3477 const ReachabilityQueryInfo<ToTy> *RHS) {
3484 #define DefineKeys(ToTy) \
3486 ReachabilityQueryInfo<ToTy> \
3487 DenseMapInfo<ReachabilityQueryInfo<ToTy> *>::EmptyKey = \
3488 ReachabilityQueryInfo<ToTy>( \
3490 DenseMapInfo<const ToTy *>::getEmptyKey()); \
3492 ReachabilityQueryInfo<ToTy> \
3493 DenseMapInfo<ReachabilityQueryInfo<ToTy> *>::TombstoneKey = \
3494 ReachabilityQueryInfo<ToTy>( \
3496 DenseMapInfo<const ToTy *>::getTombstoneKey());
3505 template <typename BaseTy, typename ToTy>
3507 using RQITy = ReachabilityQueryInfo<ToTy>;