clang
7.0.0svn
|
An aligned address. More...
#include "/opt/doxygen-docs/src/llvm/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 29 of file Address.h.
References clang::CharUnits::isZero().
Referenced by invalid().
|
inline |
Return the address space that this address resides in.
Definition at line 57 of file Address.h.
References getType().
Referenced by castValueToType(), CreateCoercedLoad(), clang::CodeGen::CodeGenFunction::EmitAutoVarInit(), clang::CodeGen::ConstantAddress::getElementBitCast(), and performTypeAdjustment().
|
inline |
Return the alignment of this pointer.
Definition at line 67 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(), clang::CodeGen::CodeGenFunction::emitArrayLength(), emitArraySubscriptGEP(), clang::CodeGen::CodeGenFunction::emitDestroy(), clang::CodeGen::CodeGenFunction::EmitLValueForField(), emitNonZeroVLAInit(), EmitNullBaseClassInitialization(), clang::CodeGen::CodeGenFunction::EmitNullInitialization(), EmitOMPAggregateInit(), EmitOMPAggregateReduction(), clang::CodeGen::CodeGenFunction::EmitParmDecl(), clang::CodeGen::emitThreadPrivateVarInit(), clang::CodeGen::AggValueSlot::forAddr(), forConstantArrayExpansion(), clang::CodeGen::CodeGenFunction::ParamValue::forIndirect(), clang::CodeGen::RValue::getAggregate(), clang::CodeGen::ConstantAddress::getBitCast(), clang::CodeGen::getOrCreateThreadPrivateCache(), clang::CodeGen::CodeGenFunction::InitTempAlloca(), isTrivialFiller(), 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(), and clang::CodeGen::CodeGenFunction::setBeforeOutermostConditional().
|
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 52 of file Address.h.
References getType().
Referenced by castToBase(), CreateCoercedLoad(), emitARCLoadOperation(), emitARCStoreOperation(), clang::CodeGen::CodeGenFunction::EmitARCStoreStrongCall(), clang::CodeGen::CodeGenFunction::emitArrayLength(), clang::CodeGen::CodeGenFunction::EmitAtomicCompareExchange(), clang::CodeGen::CodeGenFunction::EmitAtomicStore(), EmitCheckedMixedSignMultiply(), clang::CodeGen::CodeGenFunction::EmitLoadOfScalar(), clang::CodeGen::CodeGenFunction::EmitLValueForField(), clang::CodeGen::CodeGenFunction::EmitNullInitialization(), EmitOMPAggregateInit(), emitOMPArraySectionBase(), emitReductionListCopy(), clang::CodeGen::CodeGenFunction::EmitScalarInit(), clang::CodeGen::CodeGenFunction::EmitStoreOfScalar(), emitVoidPtrDirectVAArg(), emitWriteback(), EnterStructPointerForCoercedAccess(), clang::CodeGen::CodeGenFunction::GetAddressOfDirectBaseInCompleteClass(), getNullForVariable(), clang::CodeGen::getOrCreateThreadPrivateCache(), performTypeAdjustment(), and tryEmitARCCopyWeakInit().
|
inline |
Return the IR name of the pointer value.
Definition at line 62 of file Address.h.
References getPointer().
|
inline |
Definition at line 38 of file Address.h.
References isValid().
Referenced by addIfPresent(), clang::CodeGen::ReductionCodeGen::adjustPrivateAddress(), 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(), destroyOptimisticNormalEntry(), clang::CodeGen::CodeGenFunction::EmitAnyExprToExn(), emitARCCopyOperation(), clang::CodeGen::CodeGenFunction::EmitARCDestroyWeak(), emitARCLoadOperation(), emitARCStoreOperation(), clang::CodeGen::CodeGenFunction::EmitARCStoreStrongCall(), clang::CodeGen::CodeGenFunction::emitArrayLength(), emitArraySubscriptGEP(), clang::CodeGen::CodeGenFunction::EmitAtomicLoad(), clang::CodeGen::CodeGenFunction::EmitAtomicStore(), EmitAtomicUpdateValue(), clang::CodeGen::CodeGenFunction::EmitAutoVarAlloca(), clang::CodeGen::CodeGenFunction::EmitAutoVarInit(), clang::CodeGen::CodeGenFunction::emitBuiltinOSLogFormat(), clang::CodeGen::CodeGenFunction::emitByrefStructureInit(), clang::CodeGen::CodeGenFunction::EmitCheckValue(), clang::CodeGen::CodeGenFunction::EmitCXXConstructorCall(), emitCXXDestructor(), clang::CodeGen::CodeGenFunction::emitDestroy(), EmitDestroyingObjectDelete(), clang::CodeGen::CodeGenFunction::EmitDynamicCast(), clang::CodeGen::CodeGenFunction::EmitFieldAnnotations(), emitForStaticInitCall(), clang::CodeGen::CodeGenFunction::EmitLambdaBlockInvokeBody(), clang::CodeGen::CodeGenFunction::EmitLValueForField(), EmitObjectDelete(), EmitOMPAggregateInit(), EmitOMPAggregateReduction(), clang::CodeGen::CGOpenMPRuntime::emitOMPIfClause(), clang::CodeGen::CGOpenMPRuntimeNVPTX::emitParallelCall(), clang::CodeGen::CodeGenFunction::EmitParmDecl(), emitReduceFiniFunction(), emitReductionListCopy(), emitRTtypeidCall(), emitShuffleAndReduceFunction(), clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue(), clang::CodeGen::CGOpenMPRuntimeNVPTX::emitTeamsCall(), clang::CodeGen::emitThreadPrivateVarInit(), clang::CodeGen::CGOpenMPRuntime::emitUpdateLocation(), emitVoidPtrDirectVAArg(), emitWriteback(), emitWritebackArg(), enterBlockScope(), clang::CodeGen::CodeGenFunction::enterByrefCleanup(), findDominatingStoreToReturnValue(), clang::CodeGen::AggValueSlot::forAddr(), forConstantArrayExpansion(), clang::CodeGen::CodeGenFunction::ParamValue::forIndirect(), clang::CodeGen::CodeGenFunction::generateObjCGetterBody(), clang::CodeGen::CodeGenFunction::GetAddressOfBaseClass(), clang::CodeGen::RValue::getAggregate(), getBadTypeidFn(), clang::CodeGen::ConstantAddress::getBitCast(), getName(), clang::CodeGen::getOrCreateThreadPrivateCache(), clang::CodeGen::ConstantAddress::getPointer(), getType(), 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(), 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(), clang::CodeGen::CodeGenFunction::StartFunction(), and tryRemoveRetainOfSelf().
|
inline |
Return the type of the pointer value.
Definition at line 44 of file Address.h.
References getPointer().
Referenced by clang::CodeGen::ReductionCodeGen::adjustPrivateAddress(), castValueToType(), CreateCoercedLoad(), CreateCoercedStore(), emitARCCopyOperation(), clang::CodeGen::CodeGenFunction::EmitAutoVarInit(), clang::CodeGen::CodeGenFunction::EmitConstructorBody(), clang::CodeGen::ReductionCodeGen::emitInitialization(), emitInterWarpCopyFunction(), clang::CodeGen::CodeGenFunction::EmitParmDecl(), emitReductionListCopy(), clang::CodeGen::CodeGenFunction::EmitVTableAssumptionLoad(), forConstantArrayExpansion(), clang::CodeGen::CodeGenFunction::GenerateObjCSetter(), getAddressSpace(), getElementType(), performTypeAdjustment(), serializeClassHierarchy(), and clang::CodeGen::ReductionCodeGen::usesReductionInitializer().
|
inlinestatic |
Definition at line 35 of file Address.h.
References Address().
Referenced by castToBase(), clang::CodeGen::CodeGenFunction::EmitAtomicLoad(), clang::CodeGen::CodeGenFunction::EmitAutoVarAlloca(), clang::CodeGen::CGOpenMPRuntime::emitCall(), clang::CodeGen::CodeGenFunction::EmitCall(), emitDeclTargetLinkVarDeclLValue(), clang::CodeGen::ABIInfo::EmitMSVAArg(), clang::CodeGen::CodeGenFunction::EmitObjCIsaExpr(), EmitOMPAggregateInit(), clang::CodeGen::CodeGenFunction::EmitOMPCopyinClause(), clang::CodeGen::CodeGenFunction::EmitParmDecl(), emitReductionListCopy(), emitTaskDupFunction(), clang::CodeGen::CGOpenMPRuntime::emitUpdateLocation(), emitVoidPtrDirectVAArg(), EmitX86_64VAArgFromMemory(), clang::CodeGen::getAddrOfDeclareTargetLink(), clang::CodeGen::CGCXXABI::InitializeArrayCookie(), isBlockVarRef(), isCheapEnoughToEvaluateUnconditionally(), isTrivialFiller(), clang::CodeGen::CodeGenFunction::PopCleanupBlock(), and clang::CodeGen::CodeGenFunction::StartFunction().
|
inline |
Definition at line 36 of file Address.h.
Referenced by addIfPresent(), castToBase(), CheckAggExprForMemSetUse(), clang::CodeGen::CodeGenFunction::EmitAggExpr(), clang::CodeGen::CodeGenFunction::EmitAutoVarAlloca(), clang::CodeGen::CodeGenFunction::EmitBlockLiteral(), EmitCleanup(), clang::CodeGen::CodeGenFunction::EmitParmDecl(), emitPrivatesInit(), clang::CodeGen::AggValueSlot::forAddr(), clang::CodeGen::CodeGenFunction::GenerateCXXGlobalInitFunc(), getAlignment(), getPointer(), isBlockVarRef(), isCheapEnoughToEvaluateUnconditionally(), isTrivialFiller(), SetupCleanupBlockActivation(), and clang::CodeGen::CodeGenFunction::ShouldNullCheckClassCastValue().