LLVM 17.0.0git
|
PointerIntPair - This class implements a pair of a pointer and small integer. More...
#include "llvm/ADT/PointerIntPair.h"
Public Member Functions | |
constexpr | PointerIntPair ()=default |
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 46 of file PointerIntPair.h.
|
constexprdefault |
|
inline |
Definition at line 54 of file PointerIntPair.h.
References llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits, Info >::setPointerAndInt().
|
inlineexplicit |
Definition at line 58 of file PointerIntPair.h.
References llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits, Info >::initWithPointer().
|
inline |
Definition at line 85 of file PointerIntPair.h.
References assert(), and llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits, Info >::getPointer().
|
inline |
Definition at line 81 of file PointerIntPair.h.
References llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits, Info >::getAddrOfPointer().
Referenced by llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits, Info >::getAddrOfPointer().
|
inlinestatic |
Definition at line 106 of file PointerIntPair.h.
References llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits, Info >::getFromOpaqueValue().
|
inlinestatic |
Definition at line 98 of file PointerIntPair.h.
References P.
Referenced by llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits, Info >::getFromOpaqueValue(), and llvm::PointerLikeTypeTraits< PointerIntPair< PointerTy, IntBits, IntType, PtrTraits > >::getFromVoidPointer().
|
inline |
Definition at line 62 of file PointerIntPair.h.
Referenced by llvm::GlobalsAAResult::FunctionInfo::addModRefInfo(), emitNonLazySymbolPointer(), llvm::get(), llvm::ValueInfo::getAccessSpecifier(), llvm::cfg::Update< NodePtr >::getKind(), llvm::GlobalsAAResult::FunctionInfo::getModRefInfo(), getValueFromConditionImpl(), llvm::ValueInfo::haveGVs(), llvm::MCSectionELF::isComdat(), llvm::RecordVal::isNonconcreteOK(), llvm::ValueInfo::isReadOnly(), llvm::RecordVal::isTemplateArg(), llvm::ValueInfo::isValidAccessSpecifier(), llvm::ValueInfo::isWriteOnly(), llvm::GlobalsAAResult::FunctionInfo::mayReadAnyGlobal(), llvm::RNSuccIterator< NodeRef, BlockT, RegionT >::operator==(), llvm::GlobalsAAResult::FunctionInfo::setMayReadAnyGlobal(), llvm::ValueInfo::setReadOnly(), llvm::ValueInfo::setWriteOnly(), llvm::IntervalMapImpl::NodeRef::size(), and llvm::PtrUseVisitor< DerivedT >::visitPtr().
|
inline |
Definition at line 92 of file PointerIntPair.h.
Referenced by llvm::DenseMapInfo< PointerIntPair< PointerTy, IntBits, IntType >, void >::getHashValue(), llvm::IntervalMapImpl::NodeRef::operator bool(), and llvm::IRPosition::operator void *().
|
inline |
Definition at line 60 of file PointerIntPair.h.
Referenced by llvm::GlobalsAAResult::FunctionInfo::addFunctionInfo(), llvm::GlobalsAAResult::FunctionInfo::addModRefInfoForGlobal(), llvm::AADepGraphNode::DepGetVal(), llvm::AADepGraph::DepGetVal(), llvm::GraphTraits< AADepGraphNode * >::DepGetVal(), llvm::AADepGraphNode::DepGetValAA(), emitNonLazySymbolPointer(), llvm::GlobalsAAResult::FunctionInfo::eraseModRefInfoForGlobal(), llvm::IntervalMapImpl::NodeRef::get(), llvm::get(), llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits, Info >::getAddrOfPointer(), llvm::TargetLoweringObjectFileMachO::getCFIPersonalitySymbol(), llvm::MCSectionELF::getGroup(), llvm::TargetLoweringObjectFileMachO::getIndirectSymViaGOTPCRel(), llvm::GlobalsAAResult::FunctionInfo::getModRefInfoForGlobal(), llvm::ValueInfo::getRef(), llvm::cfg::Update< NodePtr >::getTo(), llvm::TargetLoweringObjectFileELF::getTTypeGlobalReference(), llvm::TargetLoweringObjectFileMachO::getTTypeGlobalReference(), llvm::SparcELFTargetObjectFile::getTTypeGlobalReference(), llvm::RecordVal::getType(), getValueFromConditionImpl(), llvm::SlotIndex::isValid(), llvm::GlobalsAAResult::FunctionInfo::operator=(), llvm::IntervalMapImpl::NodeRef::operator==(), llvm::SlotIndex::SlotIndex(), llvm::IntervalMapImpl::NodeRef::subtree(), llvm::PtrUseVisitor< DerivedT >::visitPtr(), and llvm::GlobalsAAResult::FunctionInfo::~FunctionInfo().
|
inline |
Definition at line 72 of file PointerIntPair.h.
Referenced by llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits, Info >::PointerIntPair().
|
inline |
Definition at line 115 of file PointerIntPair.h.
References RHS.
|
inline |
Definition at line 119 of file PointerIntPair.h.
References RHS.
|
inline |
Definition at line 122 of file PointerIntPair.h.
References RHS.
|
inline |
Definition at line 111 of file PointerIntPair.h.
References RHS.
|
inline |
Definition at line 120 of file PointerIntPair.h.
References RHS.
|
inline |
Definition at line 126 of file PointerIntPair.h.
References RHS.
|
inline |
Definition at line 94 of file PointerIntPair.h.
|
inline |
Definition at line 68 of file PointerIntPair.h.
Referenced by llvm::GlobalsAAResult::FunctionInfo::addModRefInfo(), llvm::GlobalsAAResult::FunctionInfo::setMayReadAnyGlobal(), llvm::ValueInfo::setReadOnly(), llvm::IntervalMapImpl::NodeRef::setSize(), llvm::ValueInfo::setWriteOnly(), and llvm::ValueInfo::ValueInfo().
|
inline |
Definition at line 64 of file PointerIntPair.h.
Referenced by llvm::GlobalsAAResult::FunctionInfo::addModRefInfoForGlobal(), llvm::GlobalsAAResult::FunctionInfo::FunctionInfo(), llvm::GlobalsAAResult::FunctionInfo::operator=(), and llvm::ValueInfo::ValueInfo().
|
inline |
Definition at line 76 of file PointerIntPair.h.
Referenced by llvm::GlobalsAAResult::FunctionInfo::operator=(), and llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits, Info >::PointerIntPair().