18struct SimpleTypeEntry {
26static const SimpleTypeEntry SimpleTypeNames[] = {
27 {
"void*", SimpleTypeKind::Void},
28 {
"<not translated>*", SimpleTypeKind::NotTranslated},
29 {
"HRESULT*", SimpleTypeKind::HResult},
30 {
"signed char*", SimpleTypeKind::SignedCharacter},
31 {
"unsigned char*", SimpleTypeKind::UnsignedCharacter},
32 {
"char*", SimpleTypeKind::NarrowCharacter},
33 {
"wchar_t*", SimpleTypeKind::WideCharacter},
34 {
"char16_t*", SimpleTypeKind::Character16},
35 {
"char32_t*", SimpleTypeKind::Character32},
36 {
"char8_t*", SimpleTypeKind::Character8},
37 {
"__int8*", SimpleTypeKind::SByte},
38 {
"unsigned __int8*", SimpleTypeKind::Byte},
39 {
"short*", SimpleTypeKind::Int16Short},
40 {
"unsigned short*", SimpleTypeKind::UInt16Short},
41 {
"__int16*", SimpleTypeKind::Int16},
42 {
"unsigned __int16*", SimpleTypeKind::UInt16},
43 {
"long*", SimpleTypeKind::Int32Long},
44 {
"unsigned long*", SimpleTypeKind::UInt32Long},
45 {
"int*", SimpleTypeKind::Int32},
46 {
"unsigned*", SimpleTypeKind::UInt32},
47 {
"__int64*", SimpleTypeKind::Int64Quad},
48 {
"unsigned __int64*", SimpleTypeKind::UInt64Quad},
49 {
"__int64*", SimpleTypeKind::Int64},
50 {
"unsigned __int64*", SimpleTypeKind::UInt64},
51 {
"__int128*", SimpleTypeKind::Int128},
52 {
"unsigned __int128*", SimpleTypeKind::UInt128},
53 {
"__half*", SimpleTypeKind::Float16},
54 {
"float*", SimpleTypeKind::Float32},
55 {
"float*", SimpleTypeKind::Float32PartialPrecision},
56 {
"__float48*", SimpleTypeKind::Float48},
57 {
"double*", SimpleTypeKind::Float64},
58 {
"long double*", SimpleTypeKind::Float80},
59 {
"__float128*", SimpleTypeKind::Float128},
60 {
"_Complex float*", SimpleTypeKind::Complex32},
61 {
"_Complex double*", SimpleTypeKind::Complex64},
62 {
"_Complex long double*", SimpleTypeKind::Complex80},
63 {
"_Complex __float128*", SimpleTypeKind::Complex128},
64 {
"bool*", SimpleTypeKind::Boolean8},
65 {
"__bool16*", SimpleTypeKind::Boolean16},
66 {
"__bool32*", SimpleTypeKind::Boolean32},
67 {
"__bool64*", SimpleTypeKind::Boolean64},
78 return "std::nullptr_t";
81 for (
const auto &SimpleTypeName : SimpleTypeNames) {
84 return SimpleTypeName.Name.drop_back(1);
87 return SimpleTypeName.Name;
90 return "<unknown simple type>";
100 TypeName = Types.getTypeName(TI);
103 if (!TypeName.empty())
dxil pretty DXIL Metadata Pretty Printer
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
StringRef - Represent a constant reference to a string, i.e.
SimpleTypeKind getSimpleKind() const
SimpleTypeMode getSimpleMode() const
static StringRef simpleTypeName(TypeIndex TI)
uint32_t getIndex() const
static TypeIndex NullptrT()
void printTypeIndex(ScopedPrinter &Printer, StringRef FieldName, TypeIndex TI, TypeCollection &Types)
This is an optimization pass for GlobalISel generic memory operations.