LLVM 20.0.0git
Public Types | Static Public Member Functions | List of all members
llvm::PointerIntPairInfo< PointerT, IntBits, PtrTraits > Struct Template Reference

#include "llvm/ADT/PointerIntPair.h"

Public Types

enum  MaskAndShiftConstants : uintptr_t { PointerBitMask , IntShift = (uintptr_t)PtrTraits::NumLowBitsAvailable - IntBits , IntMask = (uintptr_t)(((intptr_t)1 << IntBits) - 1) , ShiftedIntMask = (uintptr_t)(IntMask << IntShift) }
 

Static Public Member Functions

static PointerT getPointer (intptr_t Value)
 
static intptr_t getInt (intptr_t Value)
 
static intptr_t updatePointer (intptr_t OrigValue, PointerT Ptr)
 
static intptr_t updateInt (intptr_t OrigValue, intptr_t Int)
 

Detailed Description

template<typename PointerT, unsigned IntBits, typename PtrTraits>
struct llvm::PointerIntPairInfo< PointerT, IntBits, PtrTraits >

Definition at line 168 of file PointerIntPair.h.

Member Enumeration Documentation

◆ MaskAndShiftConstants

template<typename PointerT , unsigned IntBits, typename PtrTraits >
enum llvm::PointerIntPairInfo::MaskAndShiftConstants : uintptr_t
Enumerator
PointerBitMask 

PointerBitMask - The bits that come from the pointer.

IntShift 

IntShift - The number of low bits that we reserve for other uses, and keep zero.

IntMask 

IntMask - This is the unshifted mask for valid bits of the int type.

ShiftedIntMask 

Definition at line 174 of file PointerIntPair.h.

Member Function Documentation

◆ getInt()

template<typename PointerT , unsigned IntBits, typename PtrTraits >
static intptr_t llvm::PointerIntPairInfo< PointerT, IntBits, PtrTraits >::getInt ( intptr_t  Value)
inlinestatic

◆ getPointer()

template<typename PointerT , unsigned IntBits, typename PtrTraits >
static PointerT llvm::PointerIntPairInfo< PointerT, IntBits, PtrTraits >::getPointer ( intptr_t  Value)
inlinestatic

◆ updateInt()

template<typename PointerT , unsigned IntBits, typename PtrTraits >
static intptr_t llvm::PointerIntPairInfo< PointerT, IntBits, PtrTraits >::updateInt ( intptr_t  OrigValue,
intptr_t  Int 
)
inlinestatic

◆ updatePointer()

template<typename PointerT , unsigned IntBits, typename PtrTraits >
static intptr_t llvm::PointerIntPairInfo< PointerT, IntBits, PtrTraits >::updatePointer ( intptr_t  OrigValue,
PointerT  Ptr 
)
inlinestatic

The documentation for this struct was generated from the following file: