clang
7.0.0
|
This structure provides a set of types that are commonly used during IR emission. More...
#include "/work/llvm-www-releases/7.0.0/docsbuild/llvm.src/tools/clang/lib/CodeGen/CodeGenTypeCache.h"
Public Member Functions | |
CharUnits | getIntSize () const |
CharUnits | getIntAlign () const |
CharUnits | getSizeSize () const |
CharUnits | getSizeAlign () const |
CharUnits | getPointerSize () const |
CharUnits | getPointerAlign () const |
llvm::CallingConv::ID | getRuntimeCC () const |
LangAS | getASTAllocaAddressSpace () const |
Public Attributes | |
llvm::Type * | VoidTy |
void More... | |
llvm::IntegerType * | Int8Ty |
i8, i16, i32, and i64 More... | |
llvm::IntegerType * | Int16Ty |
llvm::IntegerType * | Int32Ty |
llvm::IntegerType * | Int64Ty |
llvm::Type * | HalfTy |
float, double More... | |
llvm::Type * | FloatTy |
llvm::Type * | DoubleTy |
llvm::IntegerType * | IntTy |
int More... | |
union { | |
llvm::IntegerType * IntPtrTy | |
llvm::IntegerType * SizeTy | |
llvm::IntegerType * PtrDiffTy | |
}; | |
intptr_t, size_t, and ptrdiff_t, which we assume are the same size. More... | |
union { | |
llvm::PointerType * VoidPtrTy | |
llvm::PointerType * Int8PtrTy | |
}; | |
void* in address space 0 More... | |
union { | |
llvm::PointerType * VoidPtrPtrTy | |
llvm::PointerType * Int8PtrPtrTy | |
}; | |
void** in address space 0 More... | |
union { | |
llvm::PointerType * AllocaVoidPtrTy | |
llvm::PointerType * AllocaInt8PtrTy | |
}; | |
void* in alloca address space More... | |
union { | |
unsigned char IntSizeInBytes | |
unsigned char IntAlignInBytes | |
}; | |
The size and alignment of the builtin C type 'int'. More... | |
unsigned char | PointerWidthInBits |
The width of a pointer into the generic address space. More... | |
union { | |
unsigned char PointerAlignInBytes | |
unsigned char PointerSizeInBytes | |
}; | |
The size and alignment of a pointer into the generic address space. More... | |
union { | |
unsigned char SizeSizeInBytes | |
unsigned char SizeAlignInBytes | |
}; | |
The size and alignment of size_t. More... | |
LangAS | ASTAllocaAddressSpace |
llvm::CallingConv::ID | RuntimeCC |
This structure provides a set of types that are commonly used during IR emission.
It's initialized once in CodeGenModule's constructor and then copied around into new CodeGenFunctions.
Definition at line 33 of file CodeGenTypeCache.h.
|
inline |
Definition at line 116 of file CodeGenTypeCache.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitParmDecl().
|
inline |
Definition at line 79 of file CodeGenTypeCache.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitCfiCheckFail(), FindIvarInterface(), getInitThreadEpochPtr(), and initializeForBlockHeader().
|
inline |
Definition at line 76 of file CodeGenTypeCache.h.
Referenced by initializeForBlockHeader().
|
inline |
Definition at line 109 of file CodeGenTypeCache.h.
Referenced by buildBlockDescriptor(), computeBlockInfo(), clang::CodeGen::createOffloadingBinaryDescriptorRegistration(), clang::CodeGen::CodeGenFunction::DecodeAddrUsedInPrologue(), emitCopyToScratchpad(), emitInterWarpCopyFunction(), emitOffloadingArraysArgument(), emitReduceScratchpadFunction(), emitReductionListCopy(), emitShuffleAndReduceFunction(), clang::CodeGen::CodeGenFunction::EmitTypeCheck(), emitVoidPtrVAArg(), emitWritebackArg(), clang::CodeGen::CodeGenFunction::FinallyInfo::exit(), FindIvarInterface(), getBadTypeidFn(), clang::CodeGen::CodeGenFunction::getExceptionSlot(), GetGCAttrTypeForType(), InitCatchParam(), isTrivialFiller(), clang::CodeGen::markAsGlobalTarget(), performTypeAdjustment(), and clang::CodeGen::CodeGenFunction::StartFunction().
|
inline |
Definition at line 106 of file CodeGenTypeCache.h.
Referenced by computeBlockInfo(), emitInterWarpCopyFunction(), EmitNullBaseClassInitialization(), emitReductionListCopy(), emitVoidPtrVAArg(), and clang::CodeGen::registerTargetGlobalVariable().
|
inline |
Definition at line 114 of file CodeGenTypeCache.h.
Referenced by getClangCallTerminateFn().
|
inline |
Definition at line 103 of file CodeGenTypeCache.h.
|
inline |
Definition at line 100 of file CodeGenTypeCache.h.
Referenced by performTypeAdjustment().
union { ... } |
intptr_t, size_t, and ptrdiff_t, which we assume are the same size.
union { ... } |
void* in address space 0
union { ... } |
void** in address space 0
union { ... } |
void* in alloca address space
union { ... } |
The size and alignment of the builtin C type 'int'.
This comes up enough in various ABI lowering tasks to be worth pre-computing.
union { ... } |
The size and alignment of a pointer into the generic address space.
union { ... } |
The size and alignment of size_t.
llvm::PointerType* clang::CodeGen::CodeGenTypeCache::AllocaInt8PtrTy |
Definition at line 67 of file CodeGenTypeCache.h.
Referenced by CreateCoercedLoad(), CreateCoercedStore(), clang::CodeGen::CodeGenFunction::EmitLifetimeEnd(), clang::CodeGen::CodeGenFunction::EmitLifetimeStart(), clang::CodeGen::CodeGenModule::getLLVMLifetimeEndFn(), and clang::CodeGen::CodeGenModule::getLLVMLifetimeStartFn().
llvm::PointerType* clang::CodeGen::CodeGenTypeCache::AllocaVoidPtrTy |
Definition at line 66 of file CodeGenTypeCache.h.
LangAS clang::CodeGen::CodeGenTypeCache::ASTAllocaAddressSpace |
Definition at line 98 of file CodeGenTypeCache.h.
llvm::Type * clang::CodeGen::CodeGenTypeCache::DoubleTy |
Definition at line 40 of file CodeGenTypeCache.h.
Referenced by EmitX86_64VAArgFromMemory(), GetFloatNeonType(), and GetNeonType().
llvm::Type * clang::CodeGen::CodeGenTypeCache::FloatTy |
Definition at line 40 of file CodeGenTypeCache.h.
Referenced by GetFloatNeonType(), and GetNeonType().
llvm::Type* clang::CodeGen::CodeGenTypeCache::HalfTy |
float, double
Definition at line 40 of file CodeGenTypeCache.h.
Referenced by GetFloatNeonType(), and GetNeonType().
llvm::IntegerType * clang::CodeGen::CodeGenTypeCache::Int16Ty |
Definition at line 38 of file CodeGenTypeCache.h.
Referenced by clang::CodeGen::CGOpenMPRuntimeNVPTX::createNVPTXRuntimeFunction(), createRuntimeShuffleFunction(), and GetNeonType().
llvm::IntegerType * clang::CodeGen::CodeGenTypeCache::Int32Ty |
Definition at line 38 of file CodeGenTypeCache.h.
Referenced by clang::CodeGen::CGOpenMPRuntime::CGOpenMPRuntime(), ConvertVec3AndVec4(), createConstantGlobalStructAndAddToParent(), clang::CodeGen::CGOpenMPRuntimeNVPTX::createNVPTXRuntimeFunction(), clang::CodeGen::createOffloadEntriesAndInfoMetadata(), clang::CodeGen::CGOpenMPRuntime::createOffloadEntry(), clang::CodeGen::createRuntimeFunction(), clang::CodeGen::CodeGenModule::EmitAnnotationLineNo(), clang::CodeGen::CodeGenFunction::EmitBuiltinAvailable(), clang::CodeGen::CodeGenFunction::EmitCfiCheckFail(), clang::CodeGen::CGOpenMPRuntimeNVPTX::emitCriticalRegion(), emitForStaticInitCall(), emitNumTeamsForTargetDirective(), emitNumThreadsForTargetDirective(), emitReduceFiniFunction(), emitRTtypeidCall(), clang::CodeGen::CodeGenFunction::EmitStoreThroughExtVectorComponentLValue(), EmitX86_64VAArgFromMemory(), clang::CodeGen::CodeGenFunction::EncodeAddrForUseInPrologue(), clang::CodeGen::CodeGenModule::GetAddrOfConstantCFString(), getAsInt32(), getAsmSrcLocInfo(), GetConstantStringEntry(), clang::CodeGen::CodeGenFunction::getEHSelectorSlot(), clang::CodeGen::getKmpc_MicroPointerTy(), GetNeonType(), getPersonalityFn(), clang::CodeGen::markAsGlobalTarget(), clang::CodeGen::ConstantEmitter::registerCurrentAddrPrivate(), clang::CodeGen::CodeGenModule::Release(), rewriteInputConstraintReferences(), and clang::CodeGen::CodeGenFunction::StartFunction().
llvm::IntegerType * clang::CodeGen::CodeGenTypeCache::Int64Ty |
Definition at line 38 of file CodeGenTypeCache.h.
Referenced by clang::CodeGen::CodeGenModule::CreateCrossDsoCfiTypeId(), clang::CodeGen::CGOpenMPRuntimeNVPTX::createNVPTXRuntimeFunction(), clang::CodeGen::createRuntimeFunction(), clang::CodeGen::CodeGenFunction::EmitCfiCheckStub(), clang::CodeGen::CodeGenFunction::EmitCfiSlowPathCheck(), EmitDeclInvariant(), emitInterWarpCopyFunction(), clang::CodeGen::CodeGenFunction::EmitLifetimeStart(), emitOffloadingArraysArgument(), clang::CodeGen::CodeGenFunction::EmitTypeCheck(), EmitX86Muldq(), GetNeonType(), isCheapEnoughToEvaluateUnconditionally(), and rewriteInputConstraintReferences().
llvm::PointerType* clang::CodeGen::CodeGenTypeCache::Int8PtrPtrTy |
Definition at line 61 of file CodeGenTypeCache.h.
Referenced by buildGlobalBlock(), clang::CodeGen::CGOpenMPRuntimeNVPTX::createNVPTXRuntimeFunction(), clang::CodeGen::CodeGenFunction::DecodeAddrUsedInPrologue(), emitARCCopyOperation(), clang::CodeGen::CodeGenFunction::EmitARCDestroyWeak(), emitARCLoadOperation(), emitARCStoreOperation(), clang::CodeGen::CodeGenFunction::EmitARCStoreStrongCall(), and clang::CodeGen::getOrCreateThreadPrivateCache().
llvm::PointerType* clang::CodeGen::CodeGenTypeCache::Int8PtrTy |
Definition at line 55 of file CodeGenTypeCache.h.
Referenced by clang::CodeGen::swiftcall::SwiftAggLowering::addTypedData(), ApplyNonVirtualAndVirtualOffset(), CanUseSingleInheritance(), createConstantGlobalStructAndAddToParent(), clang::CodeGen::CGOpenMPRuntimeNVPTX::createNVPTXRuntimeFunction(), clang::CodeGen::CGOpenMPRuntime::createOffloadEntry(), clang::CodeGen::CodeGenVTables::createVTableInitializer(), decomposeTypeForEH(), clang::CodeGen::CodeGenModule::EmitAnnotateAttr(), clang::CodeGen::CodeGenFunction::EmitAnnotationCall(), emitARCLoadOperation(), clang::CodeGen::CodeGenFunction::EmitARCRelease(), clang::CodeGen::CodeGenFunction::EmitARCRetainAutorelease(), emitARCStoreOperation(), clang::CodeGen::CodeGenFunction::EmitARCStoreStrongCall(), emitARCValueOperation(), EmitBitTestIntrinsic(), clang::CodeGen::CodeGenFunction::EmitCastToVoidPtr(), emitCatchDispatchBlock(), clang::CodeGen::CodeGenFunction::EmitCfiCheckFail(), clang::CodeGen::CodeGenFunction::EmitCfiCheckStub(), clang::CodeGen::CodeGenFunction::EmitCfiSlowPathCheck(), clang::CodeGen::CodeGenFunction::EmitCheck(), emitCPPObjectAtomicGetterCall(), emitCPPObjectAtomicSetterCall(), emitCXXDestructor(), EmitDeclDestroy(), EmitDeclInvariant(), clang::CodeGen::CodeGenFunction::EmitFieldAnnotations(), emitGlobalDtorWithCXAAtExit(), clang::CodeGen::CodeGenFunction::EmitObjCAutoreleasePoolPop(), clang::CodeGen::CodeGenFunction::EmitObjCAutoreleasePoolPush(), clang::CodeGen::CGOpenMPRuntimeNVPTX::emitParallelCall(), emitRTtypeidCall(), clang::CodeGen::CodeGenFunction::EmitSEHExceptionInfo(), emitStructSetterCall(), clang::CodeGen::CGOpenMPRuntime::emitTargetOutlinedFunctionHelper(), clang::CodeGen::CodeGenVTables::EmitThunks(), clang::CodeGen::CodeGenFunction::EmitTypeCheck(), clang::CodeGen::CGObjCRuntime::EmitValueForIvarAtOffset(), emitVoidPtrDirectVAArg(), clang::CodeGen::CodeGenFunction::FinallyInfo::enter(), clang::CodeGen::CodeGenModule::GetAddrOfRTTIDescriptor(), getAllocateExceptionFn(), getBeginCatchFn(), getBundlesForCoroEnd(), getCatchAllValue(), getClangCallTerminateFn(), GetConstantStringEntry(), clang::CodeGen::CodeGenFunction::getExceptionSlot(), getFreeExceptionFn(), GetGCAttrTypeForType(), getGetExceptionPtrFn(), clang::CodeGen::CodeGenFunction::GetIndirectGotoBlock(), getItaniumDynamicCastFn(), getOpaquePersonalityFn(), clang::CodeGen::getOrCreateThreadPrivateCache(), getThrowFn(), getTypeInfoVTable(), getUnexpectedFn(), clang::CodeGen::CodeGenVTables::getVTableType(), performTypeAdjustment(), and clang::CodeGen::CodeGenFunction::StartFunction().
llvm::IntegerType* clang::CodeGen::CodeGenTypeCache::Int8Ty |
i8, i16, i32, and i64
Definition at line 38 of file CodeGenTypeCache.h.
Referenced by CheckAggExprForMemSetUse(), computeBlockInfo(), clang::CodeGen::CodeGenTypes::ConvertType(), clang::CodeGen::CGOpenMPRuntimeNVPTX::createNVPTXRuntimeFunction(), clang::CodeGen::createOffloadingBinaryDescriptorRegistration(), emitAddressAtOffset(), clang::CodeGen::CodeGenFunction::EmitAutoVarInit(), EmitBitTestIntrinsic(), clang::CodeGen::CodeGenFunction::EmitCfiCheckFail(), clang::CodeGen::ConstantEmitter::emitForMemory(), emitGlobalDtorWithCXAAtExit(), emitNonZeroVLAInit(), clang::CodeGen::CodeGenFunction::EmitNullabilityCheck(), EmitNullBaseClassInitialization(), clang::CodeGen::CodeGenFunction::EmitNullInitialization(), clang::CodeGen::CGOpenMPRuntime::emitTargetOutlinedFunctionHelper(), clang::CodeGen::CodeGenFunction::EmitTypeCheck(), EmitX86BitTestIntrinsic(), clang::CodeGen::ConstantEmitter::getCurrentAddrPrivate(), GetNeonType(), isFullSizeType(), performTypeAdjustment(), and clang::CodeGen::CGCXXABI::ReadArrayCookie().
unsigned char clang::CodeGen::CodeGenTypeCache::IntAlignInBytes |
Definition at line 74 of file CodeGenTypeCache.h.
llvm::IntegerType* clang::CodeGen::CodeGenTypeCache::IntPtrTy |
Definition at line 47 of file CodeGenTypeCache.h.
Referenced by CoerceIntOrPtrToIntOrPtr(), CreateCoercedLoad(), CreateCoercedStore(), clang::CodeGen::createRuntimeFunction(), clang::CodeGen::CodeGenFunction::DecodeAddrUsedInPrologue(), clang::CodeGen::CodeGenFunction::EmitAsanPrologueOrEpilogue(), clang::CodeGen::CodeGenFunction::EmitAutoVarInit(), clang::CodeGen::CodeGenFunction::EmitCfiCheckFail(), clang::CodeGen::CodeGenFunction::EmitCheck(), clang::CodeGen::CodeGenFunction::EmitCheckValue(), emitNonZeroVLAInit(), emitRoundPointerUpToAlignment(), clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue(), clang::CodeGen::CodeGenFunction::EmitTypeCheck(), clang::CodeGen::CodeGenFunction::EncodeAddrForUseInPrologue(), clang::CodeGen::getCriticalRegionLock(), and GetGCAttrTypeForType().
unsigned char clang::CodeGen::CodeGenTypeCache::IntSizeInBytes |
Definition at line 73 of file CodeGenTypeCache.h.
llvm::IntegerType* clang::CodeGen::CodeGenTypeCache::IntTy |
int
Definition at line 43 of file CodeGenTypeCache.h.
Referenced by buildGlobalBlock(), clang::CodeGen::createRuntimeFunction(), detectAmbiguousBases(), clang::CodeGen::CodeGenFunction::EmitAtomicLoad(), emitCXXDestructor(), emitForStaticInitCall(), emitGlobalDtorWithCXAAtExit(), emitGlobalDtorWithTLRegDtor(), emitReduceFiniFunction(), clang::CodeGen::CodeGenFunction::EmitSEHExceptionCodeSave(), clang::CodeGen::CodeGenModule::GetAddrOfConstantCFString(), GetConstantStringEntry(), clang::CodeGen::getCriticalRegionLock(), getInitThreadAbortFn(), getInitThreadEpochPtr(), getInitThreadFooterFn(), getInitThreadHeaderFn(), initializeForBlockHeader(), and clang::CodeGen::CodeGenFunction::registerGlobalDtorWithAtExit().
unsigned char clang::CodeGen::CodeGenTypeCache::PointerAlignInBytes |
Definition at line 88 of file CodeGenTypeCache.h.
Referenced by BuildAppleKextVirtualCall(), and clang::CodeGen::CodeGenFunction::EmitARCStoreStrong().
unsigned char clang::CodeGen::CodeGenTypeCache::PointerSizeInBytes |
Definition at line 89 of file CodeGenTypeCache.h.
Referenced by getMaxAtomicAccessSize().
unsigned char clang::CodeGen::CodeGenTypeCache::PointerWidthInBits |
The width of a pointer into the generic address space.
Definition at line 84 of file CodeGenTypeCache.h.
llvm::IntegerType* clang::CodeGen::CodeGenTypeCache::PtrDiffTy |
Definition at line 49 of file CodeGenTypeCache.h.
Referenced by ApplyNonVirtualAndVirtualOffset(), clang::CodeGen::CodeGenVTables::EmitThunks(), clang::CodeGen::CodeGenModule::GetNonVirtualBaseClassOffset(), and tryEmitFMulAdd().
llvm::CallingConv::ID clang::CodeGen::CodeGenTypeCache::RuntimeCC |
Definition at line 113 of file CodeGenTypeCache.h.
unsigned char clang::CodeGen::CodeGenTypeCache::SizeAlignInBytes |
Definition at line 95 of file CodeGenTypeCache.h.
unsigned char clang::CodeGen::CodeGenTypeCache::SizeSizeInBytes |
Definition at line 94 of file CodeGenTypeCache.h.
llvm::IntegerType* clang::CodeGen::CodeGenTypeCache::SizeTy |
Definition at line 48 of file CodeGenTypeCache.h.
Referenced by clang::CodeGen::CGOpenMPRuntimeNVPTX::createNVPTXRuntimeFunction(), clang::CodeGen::CGOpenMPRuntime::createOffloadEntry(), clang::CodeGen::createRuntimeFunction(), clang::CodeGen::CodeGenFunction::emitArrayDestroy(), clang::CodeGen::CodeGenFunction::emitArrayLength(), EmitCommonNeonSISDBuiltinExpr(), emitCopyToScratchpad(), EmitCXXNewAllocSize(), clang::CodeGen::CodeGenFunction::EmitLoadOfExtVectorElementLValue(), emitOffloadingArraysArgument(), clang::CodeGen::CGOpenMPRuntimeNVPTX::emitParallelCall(), emitPartialArrayDestroy(), emitReduceFiniFunction(), emitReduceScratchpadFunction(), emitReductionListCopy(), clang::CodeGen::CodeGenFunction::EmitStoreThroughExtVectorComponentLValue(), clang::CodeGen::CodeGenFunction::EmitVariablyModifiedType(), getAllocateExceptionFn(), clang::CodeGen::CGBuilderTy::getSize(), clang::CodeGen::CodeGenModule::getSize(), clang::CodeGen::CodeGenFunction::getVLAElements1D(), clang::CodeGen::CodeGenFunction::getVLASize(), isTrivialFiller(), performTypeAdjustment(), and clang::CodeGen::CGCXXABI::readArrayCookieImpl().
llvm::PointerType* clang::CodeGen::CodeGenTypeCache::VoidPtrPtrTy |
Definition at line 60 of file CodeGenTypeCache.h.
Referenced by clang::CodeGen::createRuntimeFunction(), and emitOffloadingArraysArgument().
llvm::PointerType* clang::CodeGen::CodeGenTypeCache::VoidPtrTy |
Definition at line 54 of file CodeGenTypeCache.h.
Referenced by buildBlockDescriptor(), computeBlockInfo(), clang::CodeGen::CGOpenMPRuntimeNVPTX::createNVPTXRuntimeFunction(), clang::CodeGen::CGOpenMPRuntime::createOffloadEntry(), clang::CodeGen::createRuntimeFunction(), clang::CodeGen::CodeGenFunction::EmitCfiCheckFail(), clang::CodeGen::CodeGenFunction::EmitExtendGCLifetime(), emitOffloadingArraysArgument(), emitPointerArithmetic(), emitProxyTaskFunction(), emitReduceFiniFunction(), emitReduceInitFunction(), emitReduceScratchpadFunction(), emitReductionListCopy(), emitShuffleAndReduceFunction(), clang::CodeGen::emitThreadPrivateVarInit(), findBlockCapturedManagedEntities(), clang::CodeGen::CodeGenFunction::generateDestroyHelper(), clang::CodeGen::CodeGenFunction::GenerateObjCAtomicGetterCopyHelperFunction(), clang::CodeGen::CodeGenFunction::GenerateObjCAtomicSetterCopyHelperFunction(), clang::CodeGen::CodeGenFunction::generateObjCGetterBody(), clang::CodeGen::CodeGenFunction::generateObjCSetterBody(), and shuffleAndStore().
llvm::Type* clang::CodeGen::CodeGenTypeCache::VoidTy |
void
Definition at line 35 of file CodeGenTypeCache.h.
Referenced by clang::CodeGen::CodeGenFunction::createAtExitStub(), clang::CodeGen::CGOpenMPRuntimeNVPTX::createNVPTXRuntimeFunction(), clang::CodeGen::createRuntimeFunction(), clang::CodeGen::CodeGenFunction::EmitARCIntrinsicUse(), emitAutoreleasedReturnValueMarker(), clang::CodeGen::CodeGenFunction::EmitCfiCheckFail(), clang::CodeGen::CodeGenFunction::EmitCfiCheckStub(), clang::CodeGen::CodeGenFunction::EmitCfiSlowPathCheck(), clang::CodeGen::CodeGenFunction::EmitCheck(), clang::CodeGen::CodeGenFunction::EmitExtendGCLifetime(), emitGlobalDtorWithCXAAtExit(), clang::CodeGen::CodeGenFunction::EmitObjCMRRAutoreleasePoolPop(), clang::CodeGen::CodeGenVTables::EmitThunks(), clang::CodeGen::CodeGenFunction::GenerateCXXGlobalDtorsFunc(), clang::CodeGen::CodeGenFunction::GenerateCXXGlobalInitFunc(), clang::CodeGen::CodeGenFunction::GenerateCXXGlobalVarDeclInitFunc(), clang::CodeGen::CodeGenFunction::generateDestroyHelper(), clang::CodeGen::CodeGenFunction::generateObjCSetterBody(), getBadCastFn(), getBadTypeidFn(), getClangCallTerminateFn(), getEndCatchFn(), getFreeExceptionFn(), getGuardAbortFn(), getGuardReleaseFn(), clang::CodeGen::getKmpc_MicroPointerTy(), clang::CodeGen::CodeGenModule::getTerminateFn(), getThrowFn(), and getUnexpectedFn().