Lines Matching refs:IntBits
39 template <typename PointerTy, unsigned IntBits, typename IntType=unsigned,
50 IntShift = (uintptr_t)PtrTraits::NumLowBitsAvailable-IntBits,
53 IntMask = (uintptr_t)(((intptr_t)1 << IntBits)-1),
61 assert(IntBits <= PtrTraits::NumLowBitsAvailable &&
87 assert(IntVal < (1 << IntBits) && "Integer too large for field");
96 "Can only return the address if IntBits is cleared and "
117 template<typename PointerTy, unsigned IntBits, typename IntType>
118 struct isPodLike<PointerIntPair<PointerTy, IntBits, IntType> > {
123 template<typename PointerTy, unsigned IntBits, typename IntType>
124 struct DenseMapInfo<PointerIntPair<PointerTy, IntBits, IntType> > {
125 typedef PointerIntPair<PointerTy, IntBits, IntType> Ty;
129 return Ty(reinterpret_cast<PointerTy>(Val), IntType((1 << IntBits)-1));
144 template<typename PointerTy, unsigned IntBits, typename IntType,
146 class PointerLikeTypeTraits<PointerIntPair<PointerTy, IntBits, IntType,
150 getAsVoidPointer(const PointerIntPair<PointerTy, IntBits, IntType> &P) {
153 static inline PointerIntPair<PointerTy, IntBits, IntType>
155 return PointerIntPair<PointerTy, IntBits, IntType>::getFromOpaqueValue(P);
158 NumLowBitsAvailable = PtrTraits::NumLowBitsAvailable - IntBits