clang 22.0.0git
Public Member Functions | Public Attributes | List of all members
clang::CIRGen::CIRGenTypeCache Struct Reference

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

#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CIR/CodeGen/CIRGenTypeCache.h"

Inheritance diagram for clang::CIRGen::CIRGenTypeCache:
[legend]

Public Member Functions

 CIRGenTypeCache ()
 
clang::CharUnits getSizeAlign () const
 
clang::CharUnits getPointerAlign () const
 

Public Attributes

cir::VoidType VoidTy
 
cir::IntType SInt8Ty
 
cir::IntType SInt16Ty
 
cir::IntType SInt32Ty
 
cir::IntType SInt64Ty
 
cir::IntType SInt128Ty
 
cir::IntType UInt8Ty
 
cir::IntType UInt16Ty
 
cir::IntType UInt32Ty
 
cir::IntType UInt64Ty
 
cir::IntType UInt128Ty
 
cir::FP16Type FP16Ty
 
cir::BF16Type BFloat16Ty
 
cir::SingleType FloatTy
 
cir::DoubleType DoubleTy
 
cir::FP80Type FP80Ty
 
cir::FP128Type FP128Ty
 
union {
   mlir::Type   UIntPtrTy
 
   mlir::Type   SizeTy
 
}; 
 intptr_t, size_t, and ptrdiff_t, which we assume are the same size.
 
mlir::Type PtrDiffTy
 
cir::PointerType VoidPtrTy
 void* in address space 0
 
cir::PointerType UInt8PtrTy
 
union {
   unsigned char   PointerAlignInBytes
 
   unsigned char   PointerSizeInBytes
 
}; 
 The size and alignment of a pointer into the generic address space.
 
unsigned char SizeAlignInBytes
 The alignment of size_t.
 

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 CIRGenFunction's.

Definition at line 24 of file CIRGenTypeCache.h.

Constructor & Destructor Documentation

◆ CIRGenTypeCache()

clang::CIRGen::CIRGenTypeCache::CIRGenTypeCache ( )
inline

Definition at line 25 of file CIRGenTypeCache.h.

Member Function Documentation

◆ getPointerAlign()

clang::CharUnits clang::CIRGen::CIRGenTypeCache::getPointerAlign ( ) const
inline

Definition at line 77 of file CIRGenTypeCache.h.

References clang::CharUnits::fromQuantity(), and PointerAlignInBytes.

◆ getSizeAlign()

clang::CharUnits clang::CIRGen::CIRGenTypeCache::getSizeAlign ( ) const
inline

Member Data Documentation

◆ 

union { ... } clang::CIRGen::CIRGenTypeCache::@300

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

◆ 

union { ... } clang::CIRGen::CIRGenTypeCache::@302

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

◆ BFloat16Ty

cir::BF16Type clang::CIRGen::CIRGenTypeCache::BFloat16Ty

◆ DoubleTy

cir::DoubleType clang::CIRGen::CIRGenTypeCache::DoubleTy

◆ FloatTy

cir::SingleType clang::CIRGen::CIRGenTypeCache::FloatTy

◆ FP128Ty

cir::FP128Type clang::CIRGen::CIRGenTypeCache::FP128Ty

◆ FP16Ty

cir::FP16Type clang::CIRGen::CIRGenTypeCache::FP16Ty

◆ FP80Ty

cir::FP80Type clang::CIRGen::CIRGenTypeCache::FP80Ty

◆ PointerAlignInBytes

unsigned char clang::CIRGen::CIRGenTypeCache::PointerAlignInBytes

Definition at line 66 of file CIRGenTypeCache.h.

Referenced by clang::CIRGen::CIRGenModule::CIRGenModule(), and getPointerAlign().

◆ PointerSizeInBytes

unsigned char clang::CIRGen::CIRGenTypeCache::PointerSizeInBytes

Definition at line 67 of file CIRGenTypeCache.h.

◆ PtrDiffTy

mlir::Type clang::CIRGen::CIRGenTypeCache::PtrDiffTy

Definition at line 58 of file CIRGenTypeCache.h.

Referenced by clang::CIRGen::CIRGenModule::CIRGenModule().

◆ SInt128Ty

cir::IntType clang::CIRGen::CIRGenTypeCache::SInt128Ty

Definition at line 35 of file CIRGenTypeCache.h.

Referenced by clang::CIRGen::CIRGenModule::CIRGenModule().

◆ SInt16Ty

cir::IntType clang::CIRGen::CIRGenTypeCache::SInt16Ty

◆ SInt32Ty

cir::IntType clang::CIRGen::CIRGenTypeCache::SInt32Ty

◆ SInt64Ty

cir::IntType clang::CIRGen::CIRGenTypeCache::SInt64Ty

◆ SInt8Ty

cir::IntType clang::CIRGen::CIRGenTypeCache::SInt8Ty

◆ SizeAlignInBytes

unsigned char clang::CIRGen::CIRGenTypeCache::SizeAlignInBytes

The alignment of size_t.

Definition at line 71 of file CIRGenTypeCache.h.

Referenced by clang::CIRGen::CIRGenModule::CIRGenModule(), and getSizeAlign().

◆ SizeTy

mlir::Type clang::CIRGen::CIRGenTypeCache::SizeTy

◆ UInt128Ty

cir::IntType clang::CIRGen::CIRGenTypeCache::UInt128Ty

Definition at line 42 of file CIRGenTypeCache.h.

Referenced by clang::CIRGen::CIRGenModule::CIRGenModule().

◆ UInt16Ty

cir::IntType clang::CIRGen::CIRGenTypeCache::UInt16Ty

◆ UInt32Ty

cir::IntType clang::CIRGen::CIRGenTypeCache::UInt32Ty

◆ UInt64Ty

cir::IntType clang::CIRGen::CIRGenTypeCache::UInt64Ty

◆ UInt8PtrTy

cir::PointerType clang::CIRGen::CIRGenTypeCache::UInt8PtrTy

◆ UInt8Ty

cir::IntType clang::CIRGen::CIRGenTypeCache::UInt8Ty

◆ UIntPtrTy

mlir::Type clang::CIRGen::CIRGenTypeCache::UIntPtrTy

Definition at line 54 of file CIRGenTypeCache.h.

Referenced by clang::CIRGen::CIRGenModule::CIRGenModule().

◆ VoidPtrTy

cir::PointerType clang::CIRGen::CIRGenTypeCache::VoidPtrTy

void* in address space 0

Definition at line 61 of file CIRGenTypeCache.h.

Referenced by clang::CIRGen::CIRGenModule::CIRGenModule().

◆ VoidTy

cir::VoidType clang::CIRGen::CIRGenTypeCache::VoidTy

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