clang
20.0.0git
lib
CIR
CodeGen
CIRGenTypeCache.h
Go to the documentation of this file.
1
//===--- CIRGenTypeCache.h - Commonly used LLVM types and info -*- C++ --*-===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
//
9
// This structure provides a set of common types useful during CIR emission.
10
//
11
//===----------------------------------------------------------------------===//
12
13
#ifndef LLVM_CLANG_LIB_CIR_CIRGENTYPECACHE_H
14
#define LLVM_CLANG_LIB_CIR_CIRGENTYPECACHE_H
15
16
#include "
clang/CIR/Dialect/IR/CIRTypes.h
"
17
18
namespace
clang::CIRGen
{
19
20
/// This structure provides a set of types that are commonly used
21
/// during IR emission. It's initialized once in CodeGenModule's
22
/// constructor and then copied around into new CIRGenFunction's.
23
struct
CIRGenTypeCache
{
24
CIRGenTypeCache
() =
default
;
25
26
// ClangIR void type
27
cir::VoidType
VoidTy
;
28
29
// ClangIR signed integral types of common sizes
30
cir::IntType
SInt8Ty
;
31
cir::IntType
SInt16Ty
;
32
cir::IntType
SInt32Ty
;
33
cir::IntType
SInt64Ty
;
34
cir::IntType
SInt128Ty
;
35
36
// ClangIR unsigned integral type of common sizes
37
cir::IntType
UInt8Ty
;
38
cir::IntType
UInt16Ty
;
39
cir::IntType
UInt32Ty
;
40
cir::IntType
UInt64Ty
;
41
cir::IntType
UInt128Ty
;
42
43
// ClangIR floating-point types with fixed formats
44
cir::FP16Type
FP16Ty
;
45
cir::BF16Type
BFloat16Ty
;
46
cir::SingleType
FloatTy
;
47
cir::DoubleType
DoubleTy
;
48
cir::FP80Type
FP80Ty
;
49
cir::FP128Type
FP128Ty
;
50
};
51
52
}
// namespace clang::CIRGen
53
54
#endif
// LLVM_CLANG_LIB_CIR_CODEGEN_CIRGENTYPECACHE_H
CIRTypes.h
clang::CIRGen
Definition:
CIRGenerator.h:28
clang::CIRGen::CIRGenTypeCache
This structure provides a set of types that are commonly used during IR emission.
Definition:
CIRGenTypeCache.h:23
clang::CIRGen::CIRGenTypeCache::SInt16Ty
cir::IntType SInt16Ty
Definition:
CIRGenTypeCache.h:31
clang::CIRGen::CIRGenTypeCache::UInt32Ty
cir::IntType UInt32Ty
Definition:
CIRGenTypeCache.h:39
clang::CIRGen::CIRGenTypeCache::FP80Ty
cir::FP80Type FP80Ty
Definition:
CIRGenTypeCache.h:48
clang::CIRGen::CIRGenTypeCache::UInt16Ty
cir::IntType UInt16Ty
Definition:
CIRGenTypeCache.h:38
clang::CIRGen::CIRGenTypeCache::SInt64Ty
cir::IntType SInt64Ty
Definition:
CIRGenTypeCache.h:33
clang::CIRGen::CIRGenTypeCache::VoidTy
cir::VoidType VoidTy
Definition:
CIRGenTypeCache.h:27
clang::CIRGen::CIRGenTypeCache::FP128Ty
cir::FP128Type FP128Ty
Definition:
CIRGenTypeCache.h:49
clang::CIRGen::CIRGenTypeCache::SInt32Ty
cir::IntType SInt32Ty
Definition:
CIRGenTypeCache.h:32
clang::CIRGen::CIRGenTypeCache::UInt64Ty
cir::IntType UInt64Ty
Definition:
CIRGenTypeCache.h:40
clang::CIRGen::CIRGenTypeCache::FloatTy
cir::SingleType FloatTy
Definition:
CIRGenTypeCache.h:46
clang::CIRGen::CIRGenTypeCache::SInt128Ty
cir::IntType SInt128Ty
Definition:
CIRGenTypeCache.h:34
clang::CIRGen::CIRGenTypeCache::FP16Ty
cir::FP16Type FP16Ty
Definition:
CIRGenTypeCache.h:44
clang::CIRGen::CIRGenTypeCache::UInt128Ty
cir::IntType UInt128Ty
Definition:
CIRGenTypeCache.h:41
clang::CIRGen::CIRGenTypeCache::DoubleTy
cir::DoubleType DoubleTy
Definition:
CIRGenTypeCache.h:47
clang::CIRGen::CIRGenTypeCache::BFloat16Ty
cir::BF16Type BFloat16Ty
Definition:
CIRGenTypeCache.h:45
clang::CIRGen::CIRGenTypeCache::CIRGenTypeCache
CIRGenTypeCache()=default
clang::CIRGen::CIRGenTypeCache::SInt8Ty
cir::IntType SInt8Ty
Definition:
CIRGenTypeCache.h:30
clang::CIRGen::CIRGenTypeCache::UInt8Ty
cir::IntType UInt8Ty
Definition:
CIRGenTypeCache.h:37
Generated on Fri Jan 17 2025 17:47:33 for clang by
1.9.6