clang
9.0.0
|
An aligned address. More...
#include "/work/llvm-www-releases/9.0.0/docsbuild/llvm.src/tools/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::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(), CreateCoercedLoad(), emitARCLoadOperation(), emitARCStoreOperation(), clang::CodeGen::CodeGenFunction::EmitARCStoreStrongCall(), clang::CodeGen::CodeGenFunction::emitArrayLength(), clang::CodeGen::CodeGenFunction::EmitArraySubscriptExpr(), 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::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::CGOpenMPRuntime::emitOMPIfClause(), 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(), 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::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(), 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().