llvm::UnderlyingObject

An underlying memory object paired with whether it may alias others.

Synopsis

Declared in <llvm/CodeGen/ScheduleDAGInstrs.h>

struct UnderlyingObject
    : PointerIntPair<ValueType, 1, bool>

Base Classes

NameDescription
PointerIntPair<ValueType, 1, bool>A pointer and a small integer packed into the space of one pointer.

Member Functions

NameDescription
UnderlyingObject [constructor]Constructs an underlying object from V and aliasability.
getAddrOfPointer Return the address of the stored pointer when the integer bits are clear.
getInt Return the integer portion of the pair.
getOpaqueValue Return the packed bits as an opaque void pointer.
getPointer Return the pointer portion of the pair.
getValue Returns the Value or PseudoSourceValue identifying this object.
initWithPointer Initialize with PtrVal and clear the integer field.
mayAlias Returns true if this object may alias other memory objects.
setFromOpaqueValue Replace the packed bits with those from opaque pointer Val.
setInt Replace the integer portion, preserving the pointer bits.
setPointer Replace the pointer portion, preserving the integer bits.
setPointerAndInt Pack both PtrVal and IntVal into the stored bit pattern.
operator== Compare two pairs for equality of their packed bits.
operator!= Compare two pairs for inequality of their packed bits.
operator< Order pairs by their packed bit pattern.
operator<= Return true if this pair's bits are less than or equal to RHS.
operator> Return true if this pair's bits are greater than RHS.
operator>= Return true if this pair's bits are greater than or equal to RHS.

Static Member Functions

NameDescription
getFromOpaqueValue getFromOpaqueValue overloads

Non-Member Functions

NameDescription
getStructured-binding accessor: index 0 is the pointer, index 1 is the int.