13#ifndef LLVM_CLANG_LIB_CODEGEN_CODEGENTYPECACHE_H
14#define LLVM_CLANG_LIB_CODEGEN_CODEGENTYPECACHE_H
18#include "llvm/IR/CallingConv.h"
Provides definitions for the various language-specific address spaces.
CharUnits - This is an opaque type for sizes expressed in character units.
static CharUnits fromQuantity(QuantityType Quantity)
fromQuantity - Construct a CharUnits quantity from a raw integer type.
LangAS
Defines the address space values used by the address space qualifier of QualType.
YAML serialization mapping.
This structure provides a set of types that are commonly used during IR emission.
unsigned char SizeAlignInBytes
llvm::CallingConv::ID RuntimeCC
llvm::PointerType * VoidPtrTy
llvm::IntegerType * Int64Ty
llvm::PointerType * Int8PtrPtrTy
llvm::PointerType * ConstGlobalsPtrTy
void* in the address space for constant globals
CharUnits getIntAlign() const
llvm::PointerType * GlobalsVoidPtrTy
llvm::IntegerType * Int8Ty
i8, i16, i32, and i64
llvm::IntegerType * CharTy
char
LangAS ASTAllocaAddressSpace
unsigned char PointerWidthInBits
The width of a pointer into the generic address space.
unsigned char IntAlignInBytes
llvm::Type * HalfTy
half, bfloat, float, double
CharUnits getPointerSize() const
unsigned char PointerSizeInBytes
unsigned char SizeSizeInBytes
llvm::CallingConv::ID getRuntimeCC() const
CharUnits getIntSize() const
llvm::IntegerType * SizeTy
llvm::PointerType * VoidPtrPtrTy
llvm::PointerType * GlobalsInt8PtrTy
llvm::PointerType * AllocaVoidPtrTy
llvm::IntegerType * Int32Ty
llvm::IntegerType * IntPtrTy
llvm::IntegerType * IntTy
int
llvm::IntegerType * Int16Ty
CharUnits getSizeSize() const
unsigned char IntSizeInBytes
CharUnits getSizeAlign() const
unsigned char PointerAlignInBytes
llvm::PointerType * Int8PtrTy
llvm::IntegerType * PtrDiffTy
CharUnits getPointerAlign() const
llvm::PointerType * AllocaInt8PtrTy
LangAS getASTAllocaAddressSpace() const