clang
10.0.0git
|
An aligned address. More...
#include "/work/www-prereleases/10.0.0/rc2/docsbuild/clang/lib/CodeGen/Address.h"
Public Member Functions | |
Address (llvm::Value *pointer, CharUnits alignment) | |
bool | isValid () const |
llvm::Value * | getPointer () const |
llvm::PointerType * | getType () const |
Return the type of the pointer value. More... | |
llvm::Type * | getElementType () const |
Return the type of the values stored in this address. More... | |
unsigned | getAddressSpace () const |
Return the address space that this address resides in. More... | |
llvm::StringRef | getName () const |
Return the IR name of the pointer value. More... | |
CharUnits | getAlignment () const |
Return the alignment of this pointer. More... | |
Static Public Member Functions | |
static Address | invalid () |
|
inline |
Definition at line 28 of file Address.h.
References clang::CharUnits::isZero().
Referenced by invalid().
|
inline |
Return the address space that this address resides in.
Definition at line 56 of file Address.h.
References getType().
Referenced by castValueToType(), CreateCoercedLoad(), createUnnamedGlobalForMemcpyFrom(), clang::CodeGen::CodeGenFunction::EmitAutoVarInit(), clang::CodeGen::CodeGenFunction::EmitMaterializeTemporaryExpr(), clang::CodeGen::CGCXXABI::EmitMemberDataPointerAddress(), emitStoresForConstant(), clang::CodeGen::ConstantAddress::getElementBitCast(), and performTypeAdjustment().
|
inline |
Return the alignment of this pointer.
Definition at line 66 of file Address.h.
References isValid().
Referenced by ApplyNonVirtualAndVirtualOffset(), clang::CodeGen::CodeGenFunction::callCStructCopyAssignmentOperator(), clang::CodeGen::CodeGenFunction::callCStructCopyConstructor(), clang::CodeGen::CodeGenFunction::callCStructDefaultConstructor(), clang::CodeGen::CodeGenFunction::callCStructDestructor(), clang::CodeGen::CodeGenFunction::callCStructMoveAssignmentOperator(), clang::CodeGen::CodeGenFunction::callCStructMoveConstructor(), clang::CodeGen::ConstantAddress::castImpl(), CreateCoercedLoad(), CreateCoercedStore(), createLoadInstBefore(), clang::CodeGen::CGBuilderTy::CreateMemCpy(), clang::CodeGen::CGBuilderTy::CreateMemMove(), clang::CodeGen::CGBuilderTy::CreateMemSet(), clang::CodeGen::CGBuilderTy::CreateStore(), createStoreInstBefore(), clang::CodeGen::CodeGenFunction::CXXDefaultInitExprScope::CXXDefaultInitExprScope(), EmitArrayDelete(), clang::CodeGen::CodeGenFunction::emitArrayLength(), clang::CodeGen::CodeGenFunction::EmitArraySubscriptExpr(), emitArraySubscriptGEP(), clang::CodeGen::CodeGenFunction::EmitAtomicExpr(), clang::CodeGen::CodeGenFunction::EmitCastLValue(), clang::CodeGen::CodeGenFunction::EmitCXXMemberDataPointerAddress(), clang::CodeGen::CodeGenFunction::emitDestroy(), clang::CodeGen::CodeGenFunction::EmitFieldAnnotations(), clang::CodeGen::CodeGenFunction::EmitLValueForField(), clang::CodeGen::CodeGenFunction::EmitMaterializeTemporaryExpr(), clang::CodeGen::CodeGenFunction::EmitNewArrayInitializer(), emitNonZeroVLAInit(), EmitNullBaseClassInitialization(), clang::CodeGen::CodeGenFunction::EmitNullInitialization(), EmitOMPAggregateInit(), EmitOMPAggregateReduction(), clang::CodeGen::CodeGenFunction::EmitParmDecl(), emitStoresForConstant(), clang::CodeGen::CGOpenMPRuntimeNVPTX::emitTeamsOutlinedFunction(), clang::CodeGen::emitUserDefinedMapper(), clang::CodeGen::AggValueSlot::forAddr(), forConstantArrayExpansion(), clang::CodeGen::CodeGenFunction::ParamValue::forIndirect(), clang::CodeGen::RValue::getAggregate(), clang::CodeGen::ConstantAddress::getBitCast(), clang::CodeGen::getOrCreateThreadPrivateCache(), hasDefaultCXXMethodCC(), clang::CodeGen::CodeGenFunction::InitTempAlloca(), isTrivialFiller(), clang::CodeGen::CodeGenFunction::isTrivialInitializer(), clang::CodeGen::LValue::MakeBitfield(), clang::CodeGen::LValue::MakeExtVectorElt(), clang::CodeGen::LValue::MakeGlobalReg(), clang::CodeGen::LValue::MakeVectorElt(), clang::CodeGen::DominatingValue< Address >::save(), clang::CodeGen::EHCleanupScope::setActiveFlag(), clang::CodeGen::LValue::setAddress(), clang::CodeGen::CodeGenFunction::setBeforeOutermostConditional(), and shuffleAndStore().
|
inline |
Return the type of the values stored in this address.
When IR pointer types lose their element type, we should simply store it in Address instead for the convenience of writing code.
Definition at line 51 of file Address.h.
References getType().
Referenced by castToBase(), clang::CodeGen::checkAndEmitLastprivateConditional(), CreateCoercedLoad(), emitARCLoadOperation(), emitARCStoreOperation(), clang::CodeGen::CodeGenFunction::EmitARCStoreStrongCall(), clang::CodeGen::CodeGenFunction::emitArrayLength(), clang::CodeGen::CodeGenFunction::EmitArraySubscriptExpr(), emitArraySubscriptGEP(), clang::CodeGen::CodeGenFunction::EmitAtomicCompareExchange(), clang::CodeGen::CodeGenFunction::EmitAtomicStore(), EmitCheckedMixedSignMultiply(), clang::CodeGen::CodeGenFunction::EmitLoadOfScalar(), clang::CodeGen::CodeGenFunction::EmitLValueForField(), clang::CodeGen::CodeGenFunction::EmitMaterializeTemporaryExpr(), clang::CodeGen::CodeGenFunction::EmitNullInitialization(), clang::CodeGen::CodeGenFunction::EmitObjCMessageExpr(), EmitOMPAggregateInit(), emitOMPArraySectionBase(), clang::CodeGen::CodeGenFunction::EmitOMPArraySectionExpr(), emitReductionListCopy(), clang::CodeGen::CodeGenFunction::EmitScalarInit(), clang::CodeGen::CodeGenFunction::EmitStoreOfScalar(), emitStoresForConstant(), emitStoresForPatternInit(), emitStoresForZeroInit(), clang::CodeGen::CodeGenFunction::EmitUnaryOpLValue(), emitVoidPtrDirectVAArg(), emitWriteback(), EnterStructPointerForCoercedAccess(), clang::CodeGen::CodeGenFunction::GetAddressOfDirectBaseInCompleteClass(), getNullForVariable(), clang::CodeGen::getOrCreateThreadPrivateCache(), isSimpleZero(), clang::CodeGen::CodeGenFunction::isTrivialInitializer(), performTypeAdjustment(), and tryEmitARCCopyWeakInit().
|
inline |
Return the IR name of the pointer value.
Definition at line 61 of file Address.h.
References getPointer().
Referenced by clang::CodeGen::registerTargetGlobalVariable().
|
inline |
Definition at line 37 of file Address.h.
References isValid().
Referenced by addIfPresent(), clang::CodeGen::ReductionCodeGen::adjustPrivateAddress(), clang::CodeGen::CGOpenMPRuntimeNVPTX::adjustTargetSpecificDataForLambdas(), ApplyNonVirtualAndVirtualOffset(), clang::CodeGen::ConstantAddress::castImpl(), castToBase(), createLoadInstBefore(), clang::CodeGen::CGBuilderTy::CreateMemCpy(), clang::CodeGen::CGBuilderTy::CreateMemMove(), clang::CodeGen::CGBuilderTy::CreateMemSet(), clang::CodeGen::CGBuilderTy::CreateStore(), createStoreInstBefore(), clang::CodeGen::CodeGenFunction::CXXDefaultInitExprScope::CXXDefaultInitExprScope(), decomposeTypeForEH(), destroyOptimisticNormalEntry(), clang::CodeGen::CodeGenFunction::EmitAnyExprToExn(), emitARCCopyOperation(), clang::CodeGen::CodeGenFunction::EmitARCDestroyWeak(), emitARCLoadOperation(), emitARCStoreOperation(), clang::CodeGen::CodeGenFunction::EmitARCStoreStrongCall(), EmitArrayDelete(), clang::CodeGen::CodeGenFunction::emitArrayLength(), clang::CodeGen::CodeGenFunction::EmitArraySubscriptExpr(), emitArraySubscriptGEP(), emitAtomicCmpXchg(), clang::CodeGen::CodeGenFunction::EmitAtomicLoad(), EmitAtomicOp(), clang::CodeGen::CodeGenFunction::EmitAtomicStore(), EmitAtomicUpdateValue(), clang::CodeGen::CodeGenFunction::EmitAutoVarAlloca(), clang::CodeGen::CodeGenFunction::emitBuiltinOSLogFormat(), clang::CodeGen::CodeGenFunction::emitByrefStructureInit(), clang::CodeGen::CodeGenFunction::EmitCall(), clang::CodeGen::CodeGenFunction::EmitCheckValue(), clang::CodeGen::CodeGenFunction::EmitCXXConstructorCall(), clang::CodeGen::CodeGenFunction::EmitCXXNewExpr(), clang::CodeGen::emitDeclareSimdFunction(), clang::CodeGen::CodeGenFunction::EmitDelegateCXXConstructorCall(), clang::CodeGen::CodeGenFunction::emitDestroy(), EmitDestroyingObjectDelete(), clang::CodeGen::CodeGenFunction::EmitDynamicCast(), clang::CodeGen::CodeGenFunction::EmitFieldAnnotations(), emitForStaticInitCall(), emitGlobalToListReduceFunction(), clang::CodeGen::emitIfClause(), clang::CodeGen::CodeGenFunction::EmitInheritedCXXConstructorCall(), clang::CodeGen::CodeGenFunction::EmitLambdaBlockInvokeBody(), emitListToGlobalReduceFunction(), clang::CodeGen::CGCXXABI::EmitLoadOfMemberFunctionPointer(), clang::CodeGen::CodeGenFunction::EmitLValueForField(), clang::CodeGen::CodeGenFunction::EmitMaterializeTemporaryExpr(), clang::CodeGen::CodeGenFunction::EmitMemberExpr(), clang::CodeGen::CodeGenFunction::EmitObjCBoxedExpr(), EmitObjectDelete(), emitOffloadingArrays(), EmitOMPAggregateInit(), EmitOMPAggregateReduction(), clang::CodeGen::CGOpenMPRuntimeNVPTX::emitOutlinedFunctionCall(), emitOutlinedFunctionPrologue(), clang::CodeGen::CGOpenMPRuntimeNVPTX::emitParallelCall(), clang::CodeGen::CodeGenFunction::EmitParmDecl(), clang::CodeGen::CodeGenFunction::EmitPointerWithAlignment(), emitReduceFiniFunction(), emitReductionListCopy(), emitRTtypeidCall(), emitShuffleAndReduceFunction(), clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue(), clang::CodeGen::CodeGenFunction::EmitSynthesizedCXXCopyCtorCall(), clang::CodeGen::emitTaskInit(), clang::CodeGen::CGOpenMPRuntimeNVPTX::emitTeamsCall(), clang::CodeGen::CGOpenMPRuntimeNVPTX::emitTeamsOutlinedFunction(), clang::CodeGen::emitThreadPrivateVarInit(), EmitTypeidFromVTable(), clang::CodeGen::CGOpenMPRuntime::emitUpdateLocation(), clang::CodeGen::emitUserDefinedMapper(), emitVoidPtrDirectVAArg(), emitWriteback(), emitWritebackArg(), enterBlockScope(), EnterNewDeleteCleanup(), findBlockCapturedManagedEntities(), findDominatingStoreToReturnValue(), clang::CodeGen::CodeGenFunction::FinishFunction(), clang::CodeGen::AggValueSlot::forAddr(), forConstantArrayExpansion(), clang::CodeGen::CodeGenFunction::ParamValue::forIndirect(), clang::CodeGen::CodeGenFunction::generateObjCGetterBody(), clang::CodeGen::CodeGenFunction::GenerateOpenMPCapturedVars(), clang::CodeGen::CodeGenFunction::GenerateVarArgsThunk(), clang::CodeGen::CodeGenFunction::GetAddressOfBaseClass(), clang::CodeGen::CodeGenFunction::GetAddressOfDerivedClass(), clang::CodeGen::RValue::getAggregate(), getBadTypeidFn(), clang::CodeGen::ConstantAddress::getBitCast(), getName(), clang::CodeGen::getOrCreateThreadPrivateCache(), clang::CodeGen::ConstantAddress::getPointer(), getType(), hasDefaultCXXMethodCC(), InitCatchParam(), clang::CodeGen::CodeGenFunction::InitTempAlloca(), clang::CodeGen::ConstantAddress::isaImpl(), isTrivialFiller(), isWeakLinkedClass(), clang::CodeGen::LValue::MakeBitfield(), clang::CodeGen::LValue::MakeExtVectorElt(), clang::CodeGen::LValue::MakeGlobalReg(), clang::CodeGen::LValue::MakeVectorElt(), clang::CodeGen::DominatingValue< Address >::needsSaving(), performTypeAdjustment(), pushTemporaryCleanup(), clang::CodeGen::CGCXXABI::ReadArrayCookie(), clang::CodeGen::registerTargetGlobalVariable(), clang::CodeGen::DominatingLLVMValue::save(), clang::CodeGen::DominatingValue< Address >::save(), clang::CodeGen::EHCleanupScope::setActiveFlag(), clang::CodeGen::LValue::setAddress(), clang::CodeGen::CodeGenFunction::setBeforeOutermostConditional(), clang::CodeGen::CodeGenFunction::OMPMapVars::setVarAddr(), clang::CodeGen::CodeGenFunction::ShouldNullCheckClassCastValue(), shuffleAndStore(), clang::CodeGen::CodeGenFunction::StartFunction(), and tryRemoveRetainOfSelf().
|
inline |
Return the type of the pointer value.
Definition at line 43 of file Address.h.
References getPointer().
Referenced by clang::CodeGen::ReductionCodeGen::adjustPrivateAddress(), castValueToType(), clang::CodeGen::checkAndEmitLastprivateConditional(), CreateCoercedLoad(), CreateCoercedStore(), createUnnamedGlobalForMemcpyFrom(), emitARCCopyOperation(), clang::CodeGen::CodeGenFunction::EmitArraySubscriptExpr(), clang::CodeGen::CodeGenFunction::EmitAutoVarInit(), clang::CodeGen::CodeGenFunction::EmitConstructorBody(), clang::CodeGen::CodeGenFunction::EmitDeclRefLValue(), emitGlobalToListCopyFunction(), clang::CodeGen::ReductionCodeGen::emitInitialization(), emitListToGlobalCopyFunction(), EmitOMPAggregateInit(), emitOutlinedFunctionPrologue(), clang::CodeGen::CodeGenFunction::EmitParmDecl(), clang::CodeGen::CodeGenFunction::EmitPointerWithAlignment(), emitPseudoObjectExpr(), emitReductionListCopy(), emitTaskPrivateMappingFunction(), clang::CodeGen::CGOpenMPRuntimeNVPTX::emitTeamsOutlinedFunction(), clang::CodeGen::CodeGenFunction::EmitVTableAssumptionLoad(), forConstantArrayExpansion(), clang::CodeGen::CodeGenFunction::GenerateObjCSetter(), clang::CodeGen::CodeGenFunction::GetAddressOfBaseClass(), getAddressSpace(), getElementType(), hasDefaultCXXMethodCC(), isBlockVarRef(), isSimpleZero(), performTypeAdjustment(), serializeClassHierarchy(), shuffleAndStore(), and clang::CodeGen::ReductionCodeGen::usesReductionInitializer().
|
inlinestatic |
Definition at line 34 of file Address.h.
References Address().
Referenced by castToBase(), clang::CodeGen::CodeGenFunction::EmitArraySubscriptExpr(), clang::CodeGen::CodeGenFunction::EmitAtomicExpr(), clang::CodeGen::CodeGenFunction::EmitAtomicLoad(), clang::CodeGen::CodeGenFunction::EmitAutoVarAlloca(), clang::CodeGen::CGOpenMPRuntime::emitCall(), clang::CodeGen::CodeGenFunction::EmitCall(), clang::CodeGen::CodeGenFunction::EmitCXXMemberPointerCallExpr(), clang::CodeGen::CodeGenFunction::EmitCXXNewExpr(), clang::CodeGen::CodeGenFunction::EmitCXXPseudoDestructorExpr(), clang::CodeGen::CodeGenFunction::EmitDeclRefLValue(), emitDeclTargetVarDeclLValue(), emitInterWarpCopyFunction(), clang::CodeGen::CodeGenFunction::EmitMaterializeTemporaryExpr(), clang::CodeGen::ABIInfo::EmitMSVAArg(), clang::CodeGen::CodeGenFunction::EmitNewArrayInitializer(), emitNumThreadsForTargetDirective(), clang::CodeGen::CodeGenFunction::EmitObjCIsaExpr(), EmitOMPAggregateInit(), clang::CodeGen::CodeGenFunction::EmitOMPArraySectionExpr(), clang::CodeGen::CodeGenFunction::EmitOMPCopyinClause(), clang::CodeGen::CGOpenMPRuntimeNVPTX::emitOutlinedFunctionCall(), emitOutlinedFunctionPrologue(), clang::CodeGen::CodeGenFunction::EmitParmDecl(), clang::CodeGen::CodeGenFunction::EmitPointerToDataMemberBinaryExpr(), emitReductionListCopy(), emitTaskDupFunction(), clang::CodeGen::emitTaskInit(), clang::CodeGen::CGOpenMPRuntime::emitUpdateLocation(), emitVoidPtrDirectVAArg(), EmitX86_64VAArgFromMemory(), clang::CodeGen::CodeGenFunction::FinishFunction(), clang::CodeGen::CGOpenMPRuntimeNVPTX::getAddressOfLocalVariable(), clang::CodeGen::getAddrOfDeclareTargetVar(), clang::CodeGen::CGCXXABI::InitializeArrayCookie(), isBlockVarRef(), isCheapEnoughToEvaluateUnconditionally(), isTrivialFiller(), clang::CodeGen::CodeGenFunction::PopCleanupBlock(), and clang::CodeGen::CodeGenFunction::StartFunction().
|
inline |
Definition at line 35 of file Address.h.
Referenced by addIfPresent(), castToBase(), CheckAggExprForMemSetUse(), clang::CodeGen::CodeGenFunction::EmitAggExpr(), clang::CodeGen::CodeGenFunction::EmitAutoVarAlloca(), clang::CodeGen::CodeGenFunction::EmitBlockLiteral(), EmitCleanup(), EmitGlobalVarDeclLValue(), clang::CodeGen::CodeGenFunction::EmitParmDecl(), emitPrivatesInit(), clang::CodeGen::CGOpenMPRuntime::emitUpdateLocation(), clang::CodeGen::CodeGenFunction::FinishFunction(), clang::CodeGen::AggValueSlot::forAddr(), clang::CodeGen::CodeGenFunction::GenerateCXXGlobalInitFunc(), getAlignment(), getPointer(), isBlockVarRef(), isCheapEnoughToEvaluateUnconditionally(), isTrivialFiller(), clang::CodeGen::CodeGenFunction::pushCleanupAfterFullExprImpl(), SetupCleanupBlockActivation(), and clang::CodeGen::CodeGenFunction::ShouldNullCheckClassCastValue().