clang  6.0.0svn
Public Member Functions | Public Attributes | List of all members
clang::CodeGen::CodeGenTypeCache Struct Reference

This structure provides a set of types that are commonly used during IR emission. More...

#include "/opt/doxygen-docs/src/llvm/tools/clang/lib/CodeGen/CodeGenTypeCache.h"

Inheritance diagram for clang::CodeGen::CodeGenTypeCache:
Inheritance graph
[legend]
Collaboration diagram for clang::CodeGen::CodeGenTypeCache:
Collaboration graph
[legend]

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
 
llvm::CallingConv::ID getBuiltinCC () const
 
LangAS getASTAllocaAddressSpace () const
 

Public Attributes

llvm::TypeVoidTy
 void More...
 
llvm::IntegerType * Int8Ty
 i8, i16, i32, and i64 More...
 
llvm::IntegerType * Int16Ty
 
llvm::IntegerType * Int32Ty
 
llvm::IntegerType * Int64Ty
 
llvm::TypeFloatTy
 float, double More...
 
llvm::TypeDoubleTy
 
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
 
llvm::CallingConv::ID BuiltinCC
 

Detailed Description

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.

Member Function Documentation

◆ getASTAllocaAddressSpace()

LangAS clang::CodeGen::CodeGenTypeCache::getASTAllocaAddressSpace ( ) const
inline

Definition at line 118 of file CodeGenTypeCache.h.

◆ getBuiltinCC()

llvm::CallingConv::ID clang::CodeGen::CodeGenTypeCache::getBuiltinCC ( ) const
inline

Definition at line 116 of file CodeGenTypeCache.h.

◆ getIntAlign()

CharUnits clang::CodeGen::CodeGenTypeCache::getIntAlign ( ) const
inline

◆ getIntSize()

CharUnits clang::CodeGen::CodeGenTypeCache::getIntSize ( ) const
inline

Definition at line 76 of file CodeGenTypeCache.h.

Referenced by initializeForBlockHeader().

◆ getPointerAlign()

CharUnits clang::CodeGen::CodeGenTypeCache::getPointerAlign ( ) const
inline

◆ getPointerSize()

CharUnits clang::CodeGen::CodeGenTypeCache::getPointerSize ( ) const
inline

◆ getRuntimeCC()

llvm::CallingConv::ID clang::CodeGen::CodeGenTypeCache::getRuntimeCC ( ) const
inline

Definition at line 114 of file CodeGenTypeCache.h.

Referenced by getClangCallTerminateFn().

◆ getSizeAlign()

CharUnits clang::CodeGen::CodeGenTypeCache::getSizeAlign ( ) const
inline

Definition at line 103 of file CodeGenTypeCache.h.

◆ getSizeSize()

CharUnits clang::CodeGen::CodeGenTypeCache::getSizeSize ( ) const
inline

Definition at line 100 of file CodeGenTypeCache.h.

Referenced by performTypeAdjustment().

Member Data Documentation

◆ @265

union { ... }

intptr_t, size_t, and ptrdiff_t, which we assume are the same size.

◆ @267

union { ... }

void* in address space 0

◆ @269

union { ... }

void** in address space 0

◆ @271

union { ... }

void* in alloca address space

◆ @273

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.

◆ @275

union { ... }

The size and alignment of a pointer into the generic address space.

◆ @277

union { ... }

The size and alignment of size_t.

◆ AllocaInt8PtrTy

llvm::PointerType* clang::CodeGen::CodeGenTypeCache::AllocaInt8PtrTy

◆ AllocaVoidPtrTy

llvm::PointerType* clang::CodeGen::CodeGenTypeCache::AllocaVoidPtrTy

Definition at line 66 of file CodeGenTypeCache.h.

◆ ASTAllocaAddressSpace

LangAS clang::CodeGen::CodeGenTypeCache::ASTAllocaAddressSpace

Definition at line 98 of file CodeGenTypeCache.h.

◆ BuiltinCC

llvm::CallingConv::ID clang::CodeGen::CodeGenTypeCache::BuiltinCC

Definition at line 115 of file CodeGenTypeCache.h.

◆ DoubleTy

llvm::Type * clang::CodeGen::CodeGenTypeCache::DoubleTy

Definition at line 40 of file CodeGenTypeCache.h.

Referenced by EmitX86_64VAArgFromMemory(), GetFloatNeonType(), and GetNeonType().

◆ FloatTy

llvm::Type* clang::CodeGen::CodeGenTypeCache::FloatTy

float, double

Definition at line 40 of file CodeGenTypeCache.h.

Referenced by GetFloatNeonType(), and GetNeonType().

◆ Int16Ty

llvm::IntegerType * clang::CodeGen::CodeGenTypeCache::Int16Ty

◆ Int32Ty

llvm::IntegerType * clang::CodeGen::CodeGenTypeCache::Int32Ty

◆ Int64Ty

llvm::IntegerType * clang::CodeGen::CodeGenTypeCache::Int64Ty

◆ Int8PtrPtrTy

llvm::PointerType* clang::CodeGen::CodeGenTypeCache::Int8PtrPtrTy

◆ Int8PtrTy

llvm::PointerType* clang::CodeGen::CodeGenTypeCache::Int8PtrTy

Definition at line 55 of file CodeGenTypeCache.h.

Referenced by clang::CodeGen::swiftcall::SwiftAggLowering::addTypedData(), ApplyNonVirtualAndVirtualOffset(), CanUseSingleInheritance(), clang::CodeGen::CGOpenMPRuntime(), CreateCoercedLoad(), CreateCoercedStore(), clang::CodeGen::CGOpenMPRuntimeNVPTX::createNVPTXRuntimeFunction(), 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(), clang::CodeGen::CodeGenFunction::EmitAutoVarInit(), 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(), clang::CodeGen::CodeGenFunction::EmitFunctionInstrumentation(), 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(), clang::CodeGen::getAddrOfThreadPrivate(), getAllocateExceptionFn(), getBeginCatchFn(), getBundlesForCoroEnd(), getCatchAllValue(), getClangCallTerminateFn(), GetConstantStringEntry(), clang::CodeGen::CodeGenFunction::getExceptionSlot(), getFreeExceptionFn(), GetGCAttrTypeForType(), getGetExceptionPtrFn(), clang::CodeGen::CodeGenFunction::GetIndirectGotoBlock(), getItaniumDynamicCastFn(), getOpaquePersonalityFn(), getThrowFn(), getTypeInfoVTable(), getUnexpectedFn(), clang::CodeGen::CodeGenVTables::getVTableType(), performTypeAdjustment(), and clang::CodeGen::CodeGenFunction::StartFunction().

◆ Int8Ty

llvm::IntegerType* clang::CodeGen::CodeGenTypeCache::Int8Ty

◆ IntAlignInBytes

unsigned char clang::CodeGen::CodeGenTypeCache::IntAlignInBytes

Definition at line 74 of file CodeGenTypeCache.h.

◆ IntPtrTy

llvm::IntegerType* clang::CodeGen::CodeGenTypeCache::IntPtrTy

◆ IntSizeInBytes

unsigned char clang::CodeGen::CodeGenTypeCache::IntSizeInBytes

Definition at line 73 of file CodeGenTypeCache.h.

◆ IntTy

llvm::IntegerType* clang::CodeGen::CodeGenTypeCache::IntTy

◆ PointerAlignInBytes

unsigned char clang::CodeGen::CodeGenTypeCache::PointerAlignInBytes

◆ PointerSizeInBytes

unsigned char clang::CodeGen::CodeGenTypeCache::PointerSizeInBytes

Definition at line 89 of file CodeGenTypeCache.h.

Referenced by getMaxAtomicAccessSize().

◆ PointerWidthInBits

unsigned char clang::CodeGen::CodeGenTypeCache::PointerWidthInBits

The width of a pointer into the generic address space.

Definition at line 84 of file CodeGenTypeCache.h.

◆ PtrDiffTy

llvm::IntegerType* clang::CodeGen::CodeGenTypeCache::PtrDiffTy

◆ RuntimeCC

llvm::CallingConv::ID clang::CodeGen::CodeGenTypeCache::RuntimeCC

Definition at line 113 of file CodeGenTypeCache.h.

◆ SizeAlignInBytes

unsigned char clang::CodeGen::CodeGenTypeCache::SizeAlignInBytes

Definition at line 95 of file CodeGenTypeCache.h.

◆ SizeSizeInBytes

unsigned char clang::CodeGen::CodeGenTypeCache::SizeSizeInBytes

Definition at line 94 of file CodeGenTypeCache.h.

◆ SizeTy

llvm::IntegerType* clang::CodeGen::CodeGenTypeCache::SizeTy

◆ VoidPtrPtrTy

llvm::PointerType* clang::CodeGen::CodeGenTypeCache::VoidPtrPtrTy

◆ VoidPtrTy

llvm::PointerType* clang::CodeGen::CodeGenTypeCache::VoidPtrTy

◆ VoidTy

llvm::Type* clang::CodeGen::CodeGenTypeCache::VoidTy

The documentation for this struct was generated from the following file: