User *Use::getUser() const { const Use *End = getImpliedUser(); const UserRef *ref = reinterpret_cast<const UserRef*>(End); return ref->getInt() ? ref->getPointer() : reinterpret_cast<User*>(const_cast<Use*>(End)); }
User *Use::getUser() const { const Use *End = getImpliedUser(); const PointerIntPair<User*, 1, unsigned>& ref(static_cast<const AugmentedUse*>(End - 1)->ref); User *She = ref.getPointer(); return ref.getInt() ? She : (User*)End; }