clang 18.0.0git
Public Member Functions | Static Public Member Functions | List of all members
clang::CodeGen::ConstantAddress Class Reference

A specialization of Address that requires the address to be an LLVM Constant. More...

#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CodeGen/Address.h"

Inheritance diagram for clang::CodeGen::ConstantAddress:
Inheritance graph
[legend]

Public Member Functions

 ConstantAddress (llvm::Constant *pointer, llvm::Type *elementType, CharUnits alignment)
 
llvm::Constant * getPointer () const
 
ConstantAddress withElementType (llvm::Type *ElemTy) const
 
- Public Member Functions inherited from clang::CodeGen::Address
 Address (llvm::Value *Pointer, llvm::Type *ElementType, CharUnits Alignment, KnownNonNull_t IsKnownNonNull=NotKnownNonNull)
 
bool isValid () const
 
llvm::Value * getPointer () const
 
llvm::PointerType * getType () const
 Return the type of the pointer value.
 
llvm::Type * getElementType () const
 Return the type of the values stored in this address.
 
unsigned getAddressSpace () const
 Return the address space that this address resides in.
 
llvm::StringRef getName () const
 Return the IR name of the pointer value.
 
CharUnits getAlignment () const
 Return the alignment of this pointer.
 
Address withPointer (llvm::Value *NewPointer, KnownNonNull_t IsKnownNonNull) const
 Return address with different pointer, but same element type and alignment.
 
Address withAlignment (CharUnits NewAlignment) const
 Return address with different alignment, but same pointer and element type.
 
Address withElementType (llvm::Type *ElemTy) const
 Return address with different element type, but same pointer and alignment.
 
KnownNonNull_t isKnownNonNull () const
 Whether the pointer is known not to be null.
 
Address setKnownNonNull ()
 Set the non-null bit.
 

Static Public Member Functions

static ConstantAddress invalid ()
 
static bool isaImpl (Address addr)
 
static ConstantAddress castImpl (Address addr)
 
- Static Public Member Functions inherited from clang::CodeGen::Address
static Address invalid ()
 

Additional Inherited Members

- Protected Member Functions inherited from clang::CodeGen::Address
 Address (std::nullptr_t)
 

Detailed Description

A specialization of Address that requires the address to be an LLVM Constant.

Definition at line 120 of file Address.h.

Constructor & Destructor Documentation

◆ ConstantAddress()

clang::CodeGen::ConstantAddress::ConstantAddress ( llvm::Constant *  pointer,
llvm::Type *  elementType,
CharUnits  alignment 
)
inline

Definition at line 124 of file Address.h.

Member Function Documentation

◆ castImpl()

static ConstantAddress clang::CodeGen::ConstantAddress::castImpl ( Address  addr)
inlinestatic

◆ getPointer()

llvm::Constant * clang::CodeGen::ConstantAddress::getPointer ( ) const
inline

◆ invalid()

static ConstantAddress clang::CodeGen::ConstantAddress::invalid ( )
inlinestatic

◆ isaImpl()

static bool clang::CodeGen::ConstantAddress::isaImpl ( Address  addr)
inlinestatic

Definition at line 140 of file Address.h.

References clang::CodeGen::Address::getPointer().

◆ withElementType()

ConstantAddress clang::CodeGen::ConstantAddress::withElementType ( llvm::Type *  ElemTy) const
inline

Definition at line 136 of file Address.h.

References clang::CodeGen::Address::getAlignment(), and getPointer().

Referenced by EmitDeclDestroy().


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