clang 22.0.0git
|
#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CIR/CodeGen/Address.h"
Public Member Functions | |
Address (mlir::Value pointer, mlir::Type elementType, clang::CharUnits alignment) | |
Address (mlir::Value pointer, clang::CharUnits alignment) | |
bool | isValid () const |
Address | withPointer (mlir::Value newPtr) const |
Return address with different pointer, but same element type and alignment. | |
Address | withElementType (CIRGenBuilderTy &builder, mlir::Type ElemTy) const |
Return address with different element type, a bitcast pointer, and the same alignment. | |
mlir::Value | getPointer () const |
mlir::Value | getBasePointer () const |
mlir::Type | getType () const |
mlir::Type | getElementType () const |
clang::CharUnits | getAlignment () const |
mlir::Operation * | getDefiningOp () const |
Get the operation which defines this address. | |
template<typename OpTy > | |
OpTy | getDefiningOp () const |
Static Public Member Functions | |
static Address | invalid () |
Protected Member Functions | |
Address (std::nullptr_t) | |
|
inlineprotected |
|
inline |
Definition at line 43 of file Address.h.
References clang::CharUnits::isZero().
|
inline |
Definition at line 58 of file Address.h.
References clang::cast(), and clang::CharUnits::isZero().
|
inline |
Definition at line 109 of file Address.h.
Referenced by clang::CIRGen::CIRGenBuilderTy::createBaseClassAddr(), clang::CIRGen::CIRGenBuilderTy::createComplexImagPtr(), clang::CIRGen::CIRGenBuilderTy::createComplexRealPtr(), clang::CIRGen::CIRGenBuilderTy::createElementBitCast(), clang::CIRGen::CIRGenBuilderTy::createGetBitfield(), clang::CIRGen::CIRGenBuilderTy::createLoad(), clang::CIRGen::CIRGenBuilderTy::createSetBitfield(), clang::CIRGen::CIRGenFunction::emitAddrOfFieldStorage(), emitArraySubscriptPtr(), clang::CIRGen::CIRGenFunction::emitArrayToPointerDecay(), clang::CIRGen::CIRGenFunction::emitCXXAggrConstructorCall(), clang::CIRGen::CIRGenFunction::emitDestroy(), clang::CIRGen::CIRGenFunction::getVTablePtr(), clang::CIRGen::CIRGenFunction::initializeVTablePointer(), clang::CIRGen::LValue::makeAddr(), clang::CIRGen::LValue::makeBitfield(), clang::CIRGen::LValue::makeVectorElt(), clang::CIRGen::LValue::setAddress(), clang::CIRGen::CIRGenFunction::setBeforeOutermostConditional(), withElementType(), and withPointer().
|
inline |
Definition at line 86 of file Address.h.
References getPointer(), and isValid().
Referenced by withElementType().
|
inline |
Get the operation which defines this address.
Definition at line 112 of file Address.h.
References getPointer(), and isValid().
Referenced by clang::CIRGen::CIRGenFunction::emitStoreOfScalar(), clang::CIRGen::CIRGenFunction::emitUnaryOpLValue(), and getDefiningOp().
|
inline |
Definition at line 118 of file Address.h.
References getDefiningOp().
|
inline |
Definition at line 101 of file Address.h.
References isValid().
Referenced by clang::CIRGen::CIRGenBuilderTy::createBaseClassAddr(), clang::CIRGen::CIRGenBuilderTy::createElementBitCast(), clang::CIRGen::CIRGenFunction::emitArrayLength(), emitArraySubscriptPtr(), clang::CIRGen::CIRGenFunction::emitCall(), clang::CIRGen::CIRGenFunction::emitCastLValue(), clang::CIRGen::CIRGenFunction::emitCXXAggrConstructorCall(), clang::CIRGen::CIRGenFunction::emitLoadOfBitfieldLValue(), clang::CIRGen::CIRGenFunction::emitLoadOfReference(), clang::CIRGen::CIRGenFunction::emitLoadOfScalar(), clang::CIRGen::CIRGenFunction::emitLValueForBitField(), clang::CIRGen::CIRGenFunction::emitNullInitialization(), clang::CIRGen::CIRGenFunction::emitPointerWithAlignment(), clang::CIRGen::CIRGenFunction::emitStoreOfScalar(), clang::CIRGen::CIRGenFunction::emitStoreThroughBitfieldLValue(), clang::CIRGen::CIRGenFunction::emitUnaryOpLValue(), clang::CIRGen::CIRGenFunction::getAddressOfDirectBaseInCompleteClass(), clang::CIRGen::CIRGenFunction::getAddrOfBitFieldStorage(), clang::CIRGen::CIRGenCXXABI::loadIncomingCXXThis(), clang::CIRGen::LValue::makeAddr(), clang::CIRGen::LValue::makeBitfield(), clang::CIRGen::LValue::makeVectorElt(), clang::CIRGen::LValue::setAddress(), and withPointer().
|
inline |
Definition at line 81 of file Address.h.
References isValid().
Referenced by clang::CIRGen::CIRGenBuilderTy::createBaseClassAddr(), clang::CIRGen::CIRGenBuilderTy::createComplexImagPtr(), clang::CIRGen::CIRGenBuilderTy::createComplexRealPtr(), clang::CIRGen::CIRGenBuilderTy::createElementBitCast(), clang::CIRGen::CIRGenBuilderTy::createGetBitfield(), clang::CIRGen::CIRGenBuilderTy::createLoad(), clang::CIRGen::CIRGenBuilderTy::createSetBitfield(), clang::CIRGen::CIRGenFunction::createTempAlloca(), clang::CIRGen::CIRGenFunction::emitAddrOfFieldStorage(), emitArraySubscriptPtr(), clang::CIRGen::CIRGenFunction::emitArrayToPointerDecay(), clang::CIRGen::CIRGenFunction::emitAutoVarAlloca(), clang::CIRGen::CIRGenFunction::emitAutoVarInit(), clang::CIRGen::CIRGenFunction::emitBuiltinExpr(), clang::CIRGen::CIRGenFunction::emitCXXAggrConstructorCall(), clang::CIRGen::CIRGenFunction::emitCXXConstructorCall(), clang::CIRGen::CIRGenFunction::emitCXXNewExpr(), clang::CIRGen::CIRGenFunction::emitDelegateCXXConstructorCall(), clang::CIRGen::CIRGenFunction::emitDestroy(), clang::CIRGen::CIRGenFunction::emitLoadOfReference(), clang::CIRGen::CIRGenFunction::emitLoadOfScalar(), clang::CIRGen::CIRGenFunction::emitPointerWithAlignment(), clang::CIRGen::CIRGenFunction::emitStoreOfScalar(), clang::CIRGen::CIRGenFunction::emitVAArg(), clang::CIRGen::RValue::getAggregatePointer(), getBasePointer(), getDefiningOp(), clang::CIRGen::AggValueSlot::getPointer(), getType(), clang::CIRGen::CIRGenFunction::getVTablePtr(), clang::CIRGen::CIRGenFunction::initializeVTablePointer(), clang::CIRGen::CIRGenCXXABI::loadIncomingCXXThis(), clang::CIRGen::LValue::makeAddr(), clang::CIRGen::LValue::makeBitfield(), clang::CIRGen::LValue::makeVectorElt(), clang::CIRGen::LValue::setAddress(), and clang::CIRGen::CIRGenFunction::setAddrOfLocalVar().
|
inline |
Definition at line 93 of file Address.h.
References getPointer(), and getType().
Referenced by getType().
|
inlinestatic |
Definition at line 66 of file Address.h.
Referenced by createReferenceTemporary(), clang::CIRGen::CIRGenFunction::emitAddrOfFieldStorage(), clang::CIRGen::CIRGenFunction::emitArraySubscriptExpr(), clang::CIRGen::CIRGenFunction::emitAtomicExpr(), clang::CIRGen::CIRGenFunction::emitAutoVarAlloca(), clang::CIRGen::CIRGenFunction::emitCall(), clang::CIRGen::CIRGenFunction::emitCXXNewExpr(), clang::CIRGen::CIRGenFunction::emitDeclRefLValue(), clang::CIRGen::CIRGenFunction::emitPointerWithAlignment(), clang::CIRGen::CIRGenFunction::getAddressOfBaseClass(), clang::CIRGen::CIRGenFunction::AutoVarEmission::getObjectAddress(), and clang::CIRGen::AggValueSlot::ignored().
|
inline |
Definition at line 67 of file Address.h.
Referenced by clang::CIRGen::CIRGenFunction::emitAtomicExpr(), clang::CIRGen::CIRGenFunction::emitCall(), clang::CIRGen::CIRGenFunction::emitCastLValue(), getBasePointer(), getDefiningOp(), getElementType(), getPointer(), clang::CIRGen::AggValueSlot::isIgnored(), and clang::CIRGen::CIRGenFunction::AutoVarEmission::wasEmittedAsGlobal().
Address Address::withElementType | ( | CIRGenBuilderTy & | builder, |
mlir::Type | ElemTy | ||
) | const |
Return address with different element type, a bitcast pointer, and the same alignment.
Definition at line 135 of file CIRGenBuilder.cpp.
References cir::MissingFeatures::addressIsKnownNonNull(), cir::MissingFeatures::addressOffset(), cir::MissingFeatures::addressPointerAuthInfo(), cir::CIRBaseBuilderTy::createPtrBitcast(), getAlignment(), and getBasePointer().
Referenced by clang::CIRGen::CIRGenFunction::emitAtomicExpr(), clang::CIRGen::CIRGenFunction::emitCastLValue(), and clang::CIRGen::CIRGenFunction::getAddressOfBaseClass().
|
inline |
Return address with different pointer, but same element type and alignment.
Definition at line 73 of file Address.h.
References getAlignment(), and getElementType().