LLVM API Documentation
#include <PointerIntPair.h>
Public Member Functions | |
PointerIntPair () | |
PointerIntPair (PointerTy PtrVal, IntType IntVal) | |
PointerIntPair (PointerTy PtrVal) | |
PointerTy | getPointer () const |
IntType | getInt () const |
void | setPointer (PointerTy PtrVal) |
void | setInt (IntType IntVal) |
void | initWithPointer (PointerTy PtrVal) |
void | setPointerAndInt (PointerTy PtrVal, IntType IntVal) |
PointerTy const * | getAddrOfPointer () const |
PointerTy * | getAddrOfPointer () |
void * | getOpaqueValue () const |
void | setFromOpaqueValue (void *Val) |
bool | operator== (const PointerIntPair &RHS) const |
bool | operator!= (const PointerIntPair &RHS) const |
bool | operator< (const PointerIntPair &RHS) const |
bool | operator> (const PointerIntPair &RHS) const |
bool | operator<= (const PointerIntPair &RHS) const |
bool | operator>= (const PointerIntPair &RHS) const |
Static Public Member Functions | |
static PointerIntPair | getFromOpaqueValue (void *V) |
static PointerIntPair | getFromOpaqueValue (const void *V) |
PointerIntPair - This class implements a pair of a pointer and small integer. It is designed to represent this in the space required by one pointer by bitmangling the integer into the low part of the pointer. This can only be done for small integers: typically up to 3 bits, but it depends on the number of bits available according to PointerLikeTypeTraits for the type.
Note that PointerIntPair always puts the IntVal part in the highest bits possible. For example, PointerIntPair<void*, 1, bool> will put the bit for the bool into bit #2, not bit #0, which allows the low two bits to be used for something else. For example, this allows: PointerIntPair<PointerIntPair<void*, 1, bool>, 1, bool> ... and the two bools will land in different bits.
Definition at line 43 of file PointerIntPair.h.
llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::PointerIntPair | ( | ) | [inline] |
Definition at line 66 of file PointerIntPair.h.
llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::PointerIntPair | ( | PointerTy | PtrVal, |
IntType | IntVal | ||
) | [inline] |
Definition at line 67 of file PointerIntPair.h.
llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::PointerIntPair | ( | PointerTy | PtrVal | ) | [inline, explicit] |
Definition at line 70 of file PointerIntPair.h.
PointerTy const* llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::getAddrOfPointer | ( | ) | const [inline] |
PointerTy* llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::getAddrOfPointer | ( | ) | [inline] |
Definition at line 124 of file PointerIntPair.h.
static PointerIntPair llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::getFromOpaqueValue | ( | void * | V | ) | [inline, static] |
Definition at line 134 of file PointerIntPair.h.
Referenced by llvm::PointerIntPair< void *, 1, bool, PointerUnionUIntTraits< const Value *, const PseudoSourceValue * > >::getFromOpaqueValue().
static PointerIntPair llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::getFromOpaqueValue | ( | const void * | V | ) | [inline, static] |
Definition at line 140 of file PointerIntPair.h.
IntType llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::getInt | ( | ) | const [inline] |
Definition at line 79 of file PointerIntPair.h.
Referenced by emitNonLazySymbolPointer(), llvm::SDep::getKind(), llvm::Use::getUser(), llvm::ValueHandleBase::getValPtrInt(), llvm::PointerUnion< const Value *, const PseudoSourceValue * >::is(), llvm::detail::PtrUseVisitorBase::PtrInfo::isAborted(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::isCall(), llvm::object::ELFFile< ELFT >::Elf_Sym_Iter::isDynamic(), llvm::detail::PtrUseVisitorBase::PtrInfo::isEscaped(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::isInvoke(), llvm::RegionNodeBase< RegionTraits< Function > >::isSubRegion(), llvm::RNSuccIterator< NodeType, BlockT, RegionT >::operator==(), llvm::SDep::overlaps(), and llvm::PtrUseVisitor< SliceBuilder >::visitPtr().
void* llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::getOpaqueValue | ( | ) | const [inline] |
Definition at line 131 of file PointerIntPair.h.
Referenced by llvm::PointerLikeTypeTraits< PointerIntPair< PointerTy, IntBits, IntType, PtrTraits > >::getAsVoidPointer(), llvm::DenseMapInfo< PointerIntPair< PointerTy, IntBits, IntType > >::getHashValue(), and llvm::PointerUnion< const Value *, const PseudoSourceValue * >::getOpaqueValue().
PointerTy llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::getPointer | ( | ) | const [inline] |
Definition at line 74 of file PointerIntPair.h.
Referenced by emitNonLazySymbolPointer(), llvm::PointerUnion< const Value *, const PseudoSourceValue * >::get(), llvm::object::ELFFile< ELFT >::Elf_Sym_Iter::get(), llvm::detail::PtrUseVisitorBase::PtrInfo::getAbortingInst(), llvm::PointerIntPair< void *, 1, bool, PointerUnionUIntTraits< const Value *, const PseudoSourceValue * > >::getAddrOfPointer(), llvm::PointerUnion< const Value *, const PseudoSourceValue * >::getAddrOfPtr1(), llvm::TargetLoweringObjectFileMachO::getCFIPersonalitySymbol(), llvm::RegionNodeBase< RegionTraits< Function > >::getEntry(), llvm::detail::PtrUseVisitorBase::PtrInfo::getEscapingInst(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::getInstruction(), llvm::SDep::getSUnit(), GetSymbolFromOperand(), llvm::SparcELFTargetObjectFile::getTTypeGlobalReference(), llvm::TargetLoweringObjectFileELF::getTTypeGlobalReference(), llvm::TargetLoweringObjectFileMachO::getTTypeGlobalReference(), llvm::Use::getUser(), llvm::ValueHandleBase::getValPtr(), llvm::PointerUnion< const Value *, const PseudoSourceValue * >::isNull(), llvm::SlotIndex::isSameInstr(), llvm::SlotIndex::isValid(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::operator bool(), llvm::object::ELFFile< ELFT >::Elf_Sym_Iter::operator*(), llvm::object::ELFFile< ELFT >::Elf_Sym_Iter::operator+(), llvm::object::ELFFile< ELFT >::Elf_Sym_Iter::operator++(), llvm::object::ELFFile< ELFT >::Elf_Sym_Iter::operator-(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::operator->(), llvm::object::ELFFile< ELFT >::Elf_Sym_Iter::operator->(), llvm::ValueHandleBase::operator=(), llvm::IntervalMapImpl::NodeRef::operator==(), printSymbolOperand(), llvm::MemoryDependenceAnalysis::removeInstruction(), llvm::SlotIndex::SlotIndex(), llvm::ValueHandleBase::ValueHandleBase(), llvm::PtrUseVisitor< SliceBuilder >::visitPtr(), and llvm::ValueHandleBase::~ValueHandleBase().
void llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::initWithPointer | ( | PointerTy | PtrVal | ) | [inline] |
bool llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::operator!= | ( | const PointerIntPair< PointerTy, IntBits, IntType, PtrTraits > & | RHS | ) | const [inline] |
Definition at line 146 of file PointerIntPair.h.
bool llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::operator< | ( | const PointerIntPair< PointerTy, IntBits, IntType, PtrTraits > & | RHS | ) | const [inline] |
Definition at line 147 of file PointerIntPair.h.
bool llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::operator<= | ( | const PointerIntPair< PointerTy, IntBits, IntType, PtrTraits > & | RHS | ) | const [inline] |
Definition at line 149 of file PointerIntPair.h.
bool llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::operator== | ( | const PointerIntPair< PointerTy, IntBits, IntType, PtrTraits > & | RHS | ) | const [inline] |
Definition at line 145 of file PointerIntPair.h.
bool llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::operator> | ( | const PointerIntPair< PointerTy, IntBits, IntType, PtrTraits > & | RHS | ) | const [inline] |
Definition at line 148 of file PointerIntPair.h.
bool llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::operator>= | ( | const PointerIntPair< PointerTy, IntBits, IntType, PtrTraits > & | RHS | ) | const [inline] |
Definition at line 150 of file PointerIntPair.h.
void llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::setFromOpaqueValue | ( | void * | Val | ) | [inline] |
Definition at line 132 of file PointerIntPair.h.
Referenced by llvm::PointerIntPair< void *, 1, bool, PointerUnionUIntTraits< const Value *, const PseudoSourceValue * > >::getFromOpaqueValue().
void llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::setInt | ( | IntType | IntVal | ) | [inline] |
Definition at line 92 of file PointerIntPair.h.
Referenced by llvm::detail::PtrUseVisitorBase::PtrInfo::reset(), llvm::detail::PtrUseVisitorBase::PtrInfo::setAborted(), llvm::detail::PtrUseVisitorBase::PtrInfo::setEscaped(), and llvm::ValueHandleBase::setValPtrInt().
void llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::setPointer | ( | PointerTy | PtrVal | ) | [inline] |
Definition at line 83 of file PointerIntPair.h.
Referenced by llvm::object::ELFFile< ELFT >::Elf_Sym_Iter::operator+(), llvm::object::ELFFile< ELFT >::Elf_Sym_Iter::operator++(), llvm::ValueHandleBase::operator=(), llvm::detail::PtrUseVisitorBase::PtrInfo::reset(), llvm::detail::PtrUseVisitorBase::PtrInfo::setAborted(), llvm::detail::PtrUseVisitorBase::PtrInfo::setEscaped(), and llvm::SDep::setSUnit().
void llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::setPointerAndInt | ( | PointerTy | PtrVal, |
IntType | IntVal | ||
) | [inline] |