brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.7 KiB · ca6d16e Raw
116 lines · plain
1// RUN: llvm-tblgen -gen-target-library-info -I %p/../../include %s | FileCheck %s2 3include "llvm/Analysis/TargetLibraryInfoImpl.td"4 5def cosf : TargetLibCall< "cosf", Flt, [Flt]>;6def sinf : TargetLibCall< "sinf", Flt, [Flt]>;7 8def fmaxf : TargetLibCall< "fmaxf", Floating, [Same, Same]>;9 10def printf : TargetLibCall< "printf", Int, [Ptr, Ellip]>;11 12def cabs : TargetLibCall< "cabs", ? /* Checked manually. */>;13 14// CHECK:      #ifdef GET_TARGET_LIBRARY_INFO_ENUM15// CHECK-NEXT: #undef GET_TARGET_LIBRARY_INFO_ENUM16// CHECK-NEXT: enum LibFunc : unsigned {17// CHECK-NEXT:   NotLibFunc = 0,18// CHECK-NEXT:   LibFunc_cosf,19// CHECK-NEXT:   LibFunc_sinf,20// CHECK-NEXT:   LibFunc_fmaxf,21// CHECK-NEXT:   LibFunc_printf,22// CHECK-NEXT:   LibFunc_cabs,23// CHECK-NEXT:   NumLibFuncs,24// CHECK-NEXT:   End_LibFunc = NumLibFuncs,25// CHECK-NEXT:   Begin_LibFunc = LibFunc_cosf,26// CHECK-NEXT: };27// CHECK-NEXT: #endif28 29// CHECK:      #ifdef GET_TARGET_LIBRARY_INFO_STRING_TABLE30// CHECK-NEXT: #undef GET_TARGET_LIBRARY_INFO_STRING_TABLE31 32// CHECK:      #ifdef __GNUC__33// CHECK-NEXT: #pragma GCC diagnostic push34// CHECK-NEXT: #pragma GCC diagnostic ignored "-Woverlength-strings"35// CHECK-NEXT: #endif36// CHECK-NEXT:  constexpr char StandardNamesStrTableStorage[] =37// CHECK-NEXT:   "\0"38// CHECK-NEXT:   "cosf\0"39// CHECK-NEXT:   "sinf\0"40// CHECK-NEXT:   "fmaxf\0"41// CHECK-NEXT:   "printf\0"42// CHECK-NEXT:   "cabs\0"43// CHECK-NEXT:   ;44// CHECK-NEXT: #ifdef __GNUC__45// CHECK-NEXT: #pragma GCC diagnostic pop46// CHECK-NEXT: #endif47 48// CHECK:      const llvm::StringTable49// CHECK-NEXT: TargetLibraryInfoImpl::StandardNamesStrTable = StandardNamesStrTableStorage;50 51// CHECK:      const llvm::StringTable::Offset TargetLibraryInfoImpl::StandardNamesOffsets[6] = {52// CHECK-NEXT:   0, //53// CHECK-NEXT:   1, // cosf54// CHECK-NEXT:   6, // sinf55// CHECK-NEXT:   11, // fmaxf56// CHECK-NEXT:   17, // printf57// CHECK-NEXT:   24, // cabs58// CHECK-NEXT: };59// CHECK-NEXT: const uint8_t TargetLibraryInfoImpl::StandardNamesSizeTable[6] = {60// CHECK-NEXT:   0,61// CHECK-NEXT:   4,62// CHECK-NEXT:   4,63// CHECK-NEXT:   5,64// CHECK-NEXT:   6,65// CHECK-NEXT:   4,66// CHECK-NEXT: };67// CHECK-NEXT: #endif68 69// CHECK:      #ifdef GET_TARGET_LIBRARY_INFO_IMPL_DECL70// CHECK-NEXT: #undef GET_TARGET_LIBRARY_INFO_IMPL_DECL71// CHECK-NEXT: LLVM_ABI static const llvm::StringTable StandardNamesStrTable;72// CHECK-NEXT: LLVM_ABI static const llvm::StringTable::Offset StandardNamesOffsets[6];73// CHECK-NEXT: LLVM_ABI static const uint8_t StandardNamesSizeTable[6];74// CHECK-NEXT: #endif75 76// CHECK:      #ifdef GET_TARGET_LIBRARY_INFO_SIGNATURE_TABLE77// CHECK-NEXT: #undef GET_TARGET_LIBRARY_INFO_SIGNATURE_TABLE78// CHECK-NEXT: enum FuncArgTypeID : char {79// CHECK-NEXT:   NoFuncArgType = 0,80// CHECK-NEXT:   Void,81// CHECK-NEXT:   Bool,82// CHECK-NEXT:   Int16,83// CHECK-NEXT:   Int32,84// CHECK-NEXT:   Int,85// CHECK-NEXT:   IntPlus,86// CHECK-NEXT:   Long,87// CHECK-NEXT:   IntX,88// CHECK-NEXT:   Int64,89// CHECK-NEXT:   LLong,90// CHECK-NEXT:   SizeT,91// CHECK-NEXT:   SSizeT,92// CHECK-NEXT:   Flt,93// CHECK-NEXT:   Dbl,94// CHECK-NEXT:   LDbl,95// CHECK-NEXT:   Floating,96// CHECK-NEXT:   Ptr,97// CHECK-NEXT:   Struct,98// CHECK-NEXT:   Ellip,99// CHECK-NEXT:   Same,100// CHECK-NEXT: };101// CHECK-NEXT: static const FuncArgTypeID SignatureTable[] = {102// CHECK-NEXT:   /* 0 */ Int, Ptr, Ellip, NoFuncArgType,103// CHECK-NEXT:   /* 4 */ Flt, Flt, NoFuncArgType,104// CHECK-NEXT:   /* 7 */ Floating, Same, Same, NoFuncArgType,105// CHECK-NEXT:   /* 11 */ Void, NoFuncArgType,106// CHECK-NEXT: };107// CHECK-NEXT: static const uint16_t SignatureOffset[] = {108// CHECK-NEXT:   11, //109// CHECK-NEXT:   4, // cosf110// CHECK-NEXT:   4, // sinf111// CHECK-NEXT:   7, // fmaxf112// CHECK-NEXT:   0, // printf113// CHECK-NEXT:   3, // cabs114// CHECK-NEXT: };115// CHECK-NEXT: #endif116