diff --git a/llvm/include/llvm/Analysis/TargetLibraryInfo.td b/llvm/include/llvm/Analysis/TargetLibraryInfo.td index d74bf31ad1be7..764dffe288d87 100644 --- a/llvm/include/llvm/Analysis/TargetLibraryInfo.td +++ b/llvm/include/llvm/Analysis/TargetLibraryInfo.td @@ -9,143 +9,143 @@ include "llvm/IR/RuntimeLibcalls.td" /// void *operator new(unsigned int); -def TLI_msvc_new_int : TargetLibCall_R<__2_YAPAXI_Z>; +def TLI_msvc_new_int : TargetLibCall<__2_YAPAXI_Z>; /// void *operator new(unsigned int, const std::nothrow_t&); -def TLI_msvc_new_int_nothrow : TargetLibCall_R<__2_YAPAXIABUnothrow_t_std___Z>; +def TLI_msvc_new_int_nothrow : TargetLibCall<__2_YAPAXIABUnothrow_t_std___Z>; /// void *operator new(unsigned long long); -def TLI_msvc_new_longlong : TargetLibCall_R<__2_YAPEAX_K_Z>; +def TLI_msvc_new_longlong : TargetLibCall<__2_YAPEAX_K_Z>; /// void *operator new(unsigned long long, const std::nothrow_t&); def TLI_msvc_new_longlong_nothrow - : TargetLibCall_R<__2_YAPEAX_KAEBUnothrow_t_std___Z>; + : TargetLibCall<__2_YAPEAX_KAEBUnothrow_t_std___Z>; /// void operator delete(void*); -def TLI_msvc_delete_ptr32 : TargetLibCall_R<__3_YAXPAX_Z>; +def TLI_msvc_delete_ptr32 : TargetLibCall<__3_YAXPAX_Z>; /// void operator delete(void*, const std::nothrow_t&); def TLI_msvc_delete_ptr32_nothrow - : TargetLibCall_R<__3_YAXPAXABUnothrow_t_std___Z>; + : TargetLibCall<__3_YAXPAXABUnothrow_t_std___Z>; /// void operator delete(void*, unsigned int); -def TLI_msvc_delete_ptr32_int : TargetLibCall_R<__3_YAXPAXI_Z>; +def TLI_msvc_delete_ptr32_int : TargetLibCall<__3_YAXPAXI_Z>; /// void operator delete(void*); -def TLI_msvc_delete_ptr64 : TargetLibCall_R<__3_YAXPEAX_Z>; +def TLI_msvc_delete_ptr64 : TargetLibCall<__3_YAXPEAX_Z>; /// void operator delete(void*, const std::nothrow_t&); def TLI_msvc_delete_ptr64_nothrow - : TargetLibCall_R<__3_YAXPEAXAEBUnothrow_t_std___Z>; + : TargetLibCall<__3_YAXPEAXAEBUnothrow_t_std___Z>; /// void operator delete(void*, unsigned long long); -def TLI_msvc_delete_ptr64_longlong : TargetLibCall_R<__3_YAXPEAX_K_Z>; +def TLI_msvc_delete_ptr64_longlong : TargetLibCall<__3_YAXPEAX_K_Z>; /// void *operator new[](unsigned int); -def TLI_msvc_new_array_int : TargetLibCall_R<___U_YAPAXI_Z>; +def TLI_msvc_new_array_int : TargetLibCall<___U_YAPAXI_Z>; /// void *operator new](unsigned int, [const std::nothrow_t&); def TLI_msvc_new_array_int_nothrow - : TargetLibCall_R<___U_YAPAXIABUnothrow_t_std___Z>; + : TargetLibCall<___U_YAPAXIABUnothrow_t_std___Z>; /// void *operator new[](unsigned long long); -def TLI_msvc_new_array_longlong : TargetLibCall_R<___U_YAPEAX_K_Z>; +def TLI_msvc_new_array_longlong : TargetLibCall<___U_YAPEAX_K_Z>; /// void *operator new](unsigned long long, [const std::nothrow_t&); def TLI_msvc_new_array_longlong_nothrow - : TargetLibCall_R<___U_YAPEAX_KAEBUnothrow_t_std___Z>; + : TargetLibCall<___U_YAPEAX_KAEBUnothrow_t_std___Z>; /// void operator delete[](void*); -def TLI_msvc_delete_array_ptr32 : TargetLibCall_R<___V_YAXPAX_Z>; +def TLI_msvc_delete_array_ptr32 : TargetLibCall<___V_YAXPAX_Z>; /// void operator delete](void*, [const std::nothrow_t&); def TLI_msvc_delete_array_ptr32_nothrow - : TargetLibCall_R<___V_YAXPAXABUnothrow_t_std___Z>; + : TargetLibCall<___V_YAXPAXABUnothrow_t_std___Z>; /// void operator delete](void*, [unsigned int); -def TLI_msvc_delete_array_ptr32_int : TargetLibCall_R<___V_YAXPAXI_Z>; +def TLI_msvc_delete_array_ptr32_int : TargetLibCall<___V_YAXPAXI_Z>; /// void operator delete[](void*); -def TLI_msvc_delete_array_ptr64 : TargetLibCall_R<___V_YAXPEAX_Z>; +def TLI_msvc_delete_array_ptr64 : TargetLibCall<___V_YAXPEAX_Z>; /// void operator delete](void*, [const std::nothrow_t&); def TLI_msvc_delete_array_ptr64_nothrow - : TargetLibCall_R<___V_YAXPEAXAEBUnothrow_t_std___Z>; + : TargetLibCall<___V_YAXPEAXAEBUnothrow_t_std___Z>; /// void operator delete](void*, [unsigned long long); -def TLI_msvc_delete_array_ptr64_longlong : TargetLibCall_R<___V_YAXPEAX_K_Z>; +def TLI_msvc_delete_array_ptr64_longlong : TargetLibCall<___V_YAXPEAX_K_Z>; /// int _IO_getc(_IO_FILE * __fp); -def TLI_under_IO_getc : TargetLibCall_R<_IO_getc>; +def TLI_under_IO_getc : TargetLibCall<_IO_getc>; /// int _IO_putc(int __c, _IO_FILE * __fp); -def TLI_under_IO_putc : TargetLibCall_R<_IO_putc>; +def TLI_under_IO_putc : TargetLibCall<_IO_putc>; /// void operator delete[](void*); -def TLI_ZdaPv : TargetLibCall_R<_ZdaPv>; +def TLI_ZdaPv : TargetLibCall<_ZdaPv>; /// void operator delete](void*, [const std::nothrow_t&); -def TLI_ZdaPvRKSt9nothrow_t : TargetLibCall_R<_ZdaPvRKSt9nothrow_t>; +def TLI_ZdaPvRKSt9nothrow_t : TargetLibCall<_ZdaPvRKSt9nothrow_t>; /// void operator delete](void*, [std::align_val_t); -def TLI_ZdaPvSt11align_val_t : TargetLibCall_R<_ZdaPvSt11align_val_t>; +def TLI_ZdaPvSt11align_val_t : TargetLibCall<_ZdaPvSt11align_val_t>; /// void operator delete](void*, [std::align_val_t, const std::nothrow_t&) def TLI_ZdaPvSt11align_val_tRKSt9nothrow_t - : TargetLibCall_R<_ZdaPvSt11align_val_tRKSt9nothrow_t>; + : TargetLibCall<_ZdaPvSt11align_val_tRKSt9nothrow_t>; /// void operator delete](void*, [unsigned int); -def TLI_ZdaPvj : TargetLibCall_R<_ZdaPvj>; +def TLI_ZdaPvj : TargetLibCall<_ZdaPvj>; /// void operator delete](void*, [unsigned int, std::align_val_t); -def TLI_ZdaPvjSt11align_val_t : TargetLibCall_R<_ZdaPvjSt11align_val_t>; +def TLI_ZdaPvjSt11align_val_t : TargetLibCall<_ZdaPvjSt11align_val_t>; /// void operator delete](void*, [unsigned long); -def TLI_ZdaPvm : TargetLibCall_R<_ZdaPvm>; +def TLI_ZdaPvm : TargetLibCall<_ZdaPvm>; /// void operator delete](void*, [unsigned long, std::align_val_t); -def TLI_ZdaPvmSt11align_val_t : TargetLibCall_R<_ZdaPvmSt11align_val_t>; +def TLI_ZdaPvmSt11align_val_t : TargetLibCall<_ZdaPvmSt11align_val_t>; /// void operator delete(void*); -def TLI_ZdlPv : TargetLibCall_R<_ZdlPv>; +def TLI_ZdlPv : TargetLibCall<_ZdlPv>; /// void operator delete(void*, const std::nothrow_t&); -def TLI_ZdlPvRKSt9nothrow_t : TargetLibCall_R<_ZdlPvRKSt9nothrow_t>; +def TLI_ZdlPvRKSt9nothrow_t : TargetLibCall<_ZdlPvRKSt9nothrow_t>; /// void operator delete(void*, std::align_val_t) -def TLI_ZdlPvSt11align_val_t : TargetLibCall_R<_ZdlPvSt11align_val_t>; +def TLI_ZdlPvSt11align_val_t : TargetLibCall<_ZdlPvSt11align_val_t>; /// void operator delete(void*, std::align_val_t, const std::nothrow_t&) def TLI_ZdlPvSt11align_val_tRKSt9nothrow_t - : TargetLibCall_R<_ZdlPvSt11align_val_tRKSt9nothrow_t>; + : TargetLibCall<_ZdlPvSt11align_val_tRKSt9nothrow_t>; /// void operator delete(void*, unsigned int); -def TLI_ZdlPvj : TargetLibCall_R<_ZdlPvj>; +def TLI_ZdlPvj : TargetLibCall<_ZdlPvj>; /// void operator delete(void*, unsigned int, std::align_val_t) -def TLI_ZdlPvjSt11align_val_t : TargetLibCall_R<_ZdlPvjSt11align_val_t>; +def TLI_ZdlPvjSt11align_val_t : TargetLibCall<_ZdlPvjSt11align_val_t>; /// void operator delete(void*, unsigned long); -def TLI_ZdlPvm : TargetLibCall_R<_ZdlPvm>; +def TLI_ZdlPvm : TargetLibCall<_ZdlPvm>; /// void operator delete(void*, unsigned long, std::align_val_t) -def TLI_ZdlPvmSt11align_val_t : TargetLibCall_R<_ZdlPvmSt11align_val_t>; +def TLI_ZdlPvmSt11align_val_t : TargetLibCall<_ZdlPvmSt11align_val_t>; /// void *operator new[](unsigned int); -def TLI_Znaj : TargetLibCall_R<_Znaj>; +def TLI_Znaj : TargetLibCall<_Znaj>; /// void *operator new](unsigned int, [const std::nothrow_t&); -def TLI_ZnajRKSt9nothrow_t : TargetLibCall_R<_ZnajRKSt9nothrow_t>; +def TLI_ZnajRKSt9nothrow_t : TargetLibCall<_ZnajRKSt9nothrow_t>; /// void *operator new](unsigned int, [std::align_val_t) -def TLI_ZnajSt11align_val_t : TargetLibCall_R<_ZnajSt11align_val_t>; +def TLI_ZnajSt11align_val_t : TargetLibCall<_ZnajSt11align_val_t>; /// void *operator new](unsigned int, [std::align_val_t, const std::nothrow_t&) def TLI_ZnajSt11align_val_tRKSt9nothrow_t - : TargetLibCall_R<_ZnajSt11align_val_tRKSt9nothrow_t>; + : TargetLibCall<_ZnajSt11align_val_tRKSt9nothrow_t>; /// void *operator new[](unsigned long); -def TLI_Znam : TargetLibCall_R<_Znam>; +def TLI_Znam : TargetLibCall<_Znam>; /// void *operator new](unsigned long, [__hot_cold_t) /// Currently this and other operator new interfaces that take a __hot_cold_t @@ -153,72 +153,72 @@ def TLI_Znam : TargetLibCall_R<_Znam>; /// https://github.com/google/tcmalloc/blob/master/tcmalloc/new_extension.h /// and for the definition of the __hot_cold_t parameter see: /// https://github.com/google/tcmalloc/blob/master/tcmalloc/malloc_extension.h -def TLI_Znam12__hot_cold_t : TargetLibCall_R<_Znam12__hot_cold_t>; +def TLI_Znam12__hot_cold_t : TargetLibCall<_Znam12__hot_cold_t>; /// void *operator new](unsigned long, [const std::nothrow_t&); -def TLI_ZnamRKSt9nothrow_t : TargetLibCall_R<_ZnamRKSt9nothrow_t>; +def TLI_ZnamRKSt9nothrow_t : TargetLibCall<_ZnamRKSt9nothrow_t>; /// void *operator new](unsigned long, [const std::nothrow_t&, __hot_cold_t) def TLI_ZnamRKSt9nothrow_t12__hot_cold_t - : TargetLibCall_R<_ZnamRKSt9nothrow_t12__hot_cold_t>; + : TargetLibCall<_ZnamRKSt9nothrow_t12__hot_cold_t>; /// void *operator new](unsigned long, [std::align_val_t) -def TLI_ZnamSt11align_val_t : TargetLibCall_R<_ZnamSt11align_val_t>; +def TLI_ZnamSt11align_val_t : TargetLibCall<_ZnamSt11align_val_t>; /// void *operator new](unsigned long, [std::align_val_t, __hot_cold_t) def TLI_ZnamSt11align_val_t12__hot_cold_t - : TargetLibCall_R<_ZnamSt11align_val_t12__hot_cold_t>; + : TargetLibCall<_ZnamSt11align_val_t12__hot_cold_t>; /// void *operator new](unsigned long, [std::align_val_t, const std::nothrow_t&) def TLI_ZnamSt11align_val_tRKSt9nothrow_t - : TargetLibCall_R<_ZnamSt11align_val_tRKSt9nothrow_t>; + : TargetLibCall<_ZnamSt11align_val_tRKSt9nothrow_t>; /// void *operator new](unsigned long, [std::align_val_t, const std::nothrow_t&, /// __hot_cold_t) def TLI_ZnamSt11align_val_tRKSt9nothrow_t12__hot_cold_t - : TargetLibCall_R<_ZnamSt11align_val_tRKSt9nothrow_t12__hot_cold_t>; + : TargetLibCall<_ZnamSt11align_val_tRKSt9nothrow_t12__hot_cold_t>; /// void *operator new(unsigned int); -def TLI_Znwj : TargetLibCall_R<_Znwj>; +def TLI_Znwj : TargetLibCall<_Znwj>; /// void *operator new(unsigned int, const std::nothrow_t&); -def TLI_ZnwjRKSt9nothrow_t : TargetLibCall_R<_ZnwjRKSt9nothrow_t>; +def TLI_ZnwjRKSt9nothrow_t : TargetLibCall<_ZnwjRKSt9nothrow_t>; /// void *operator new(unsigned int, std::align_val_t) -def TLI_ZnwjSt11align_val_t : TargetLibCall_R<_ZnwjSt11align_val_t>; +def TLI_ZnwjSt11align_val_t : TargetLibCall<_ZnwjSt11align_val_t>; /// void *operator new(unsigned int, std::align_val_t, const std::nothrow_t&) def TLI_ZnwjSt11align_val_tRKSt9nothrow_t - : TargetLibCall_R<_ZnwjSt11align_val_tRKSt9nothrow_t>; + : TargetLibCall<_ZnwjSt11align_val_tRKSt9nothrow_t>; /// void *operator new(unsigned long); -def TLI_Znwm : TargetLibCall_R<_Znwm>; +def TLI_Znwm : TargetLibCall<_Znwm>; /// void *operator new(unsigned long, __hot_cold_t) -def TLI_Znwm12__hot_cold_t : TargetLibCall_R<_Znwm12__hot_cold_t>; +def TLI_Znwm12__hot_cold_t : TargetLibCall<_Znwm12__hot_cold_t>; /// void *operator new(unsigned long, const std::nothrow_t&); -def TLI_ZnwmRKSt9nothrow_t : TargetLibCall_R<_ZnwmRKSt9nothrow_t>; +def TLI_ZnwmRKSt9nothrow_t : TargetLibCall<_ZnwmRKSt9nothrow_t>; /// void *operator new(unsigned long, const std::nothrow_t&, __hot_cold_t) def TLI_ZnwmRKSt9nothrow_t12__hot_cold_t - : TargetLibCall_R<_ZnwmRKSt9nothrow_t12__hot_cold_t>; + : TargetLibCall<_ZnwmRKSt9nothrow_t12__hot_cold_t>; /// void *operator new(unsigned long, std::align_val_t) -def TLI_ZnwmSt11align_val_t : TargetLibCall_R<_ZnwmSt11align_val_t>; +def TLI_ZnwmSt11align_val_t : TargetLibCall<_ZnwmSt11align_val_t>; /// void *operator new(unsigned long, std::align_val_t, __hot_cold_t) def TLI_ZnwmSt11align_val_t12__hot_cold_t - : TargetLibCall_R<_ZnwmSt11align_val_t12__hot_cold_t>; + : TargetLibCall<_ZnwmSt11align_val_t12__hot_cold_t>; /// void *operator new(unsigned long, std::align_val_t, const std::nothrow_t&) def TLI_ZnwmSt11align_val_tRKSt9nothrow_t - : TargetLibCall_R<_ZnwmSt11align_val_tRKSt9nothrow_t>; + : TargetLibCall<_ZnwmSt11align_val_tRKSt9nothrow_t>; /// void *operator new(unsigned long, std::align_val_t, const std::nothrow_t&, /// __hot_cold_t) def TLI_ZnwmSt11align_val_tRKSt9nothrow_t12__hot_cold_t - : TargetLibCall_R<_ZnwmSt11align_val_tRKSt9nothrow_t12__hot_cold_t>; + : TargetLibCall<_ZnwmSt11align_val_tRKSt9nothrow_t12__hot_cold_t>; /// The following are variants of operator new which return the actual size /// reserved by the allocator proposed in P0901R5 (Size feedback in operator @@ -227,1425 +227,1423 @@ def TLI_ZnwmSt11align_val_tRKSt9nothrow_t12__hot_cold_t /// https://github.com/google/tcmalloc/blob/master/tcmalloc/malloc_extension.h /// __sized_ptr_t __size_returning_new(size_t size) -def TLI_size_returning_new : TargetLibCall_R<__size_returning_new>; +def TLI_size_returning_new : TargetLibCall<__size_returning_new>; /// __sized_ptr_t __size_returning_new_hot_cold(size_t, __hot_cold_t) def TLI_size_returning_new_hot_cold - : TargetLibCall_R<__size_returning_new_hot_cold>; + : TargetLibCall<__size_returning_new_hot_cold>; /// __sized_ptr_t __size_returning_new_aligned(size_t, std::align_val_t) def TLI_size_returning_new_aligned - : TargetLibCall_R<__size_returning_new_aligned>; + : TargetLibCall<__size_returning_new_aligned>; /// __sized_ptr_t __size_returning_new_aligned(size_t, std::align_val_t, /// __hot_cold_t) def TLI_size_returning_new_aligned_hot_cold - : TargetLibCall_R<__size_returning_new_aligned_hot_cold>; + : TargetLibCall<__size_returning_new_aligned_hot_cold>; /// double __acos_finite(double x); -def TLI_acos_finite : TargetLibCall_D<"__acos_finite", Dbl, [Dbl]>; +def TLI_acos_finite : TargetLibCall<__acos_finite>; /// float __acosf_finite(float x); -def TLI_acosf_finite : TargetLibCall_D<"__acosf_finite", Flt, [Flt]>; +def TLI_acosf_finite : TargetLibCall<__acosf_finite>; /// double __acosh_finite(double x); -def TLI_acosh_finite : TargetLibCall_D<"__acosh_finite", Dbl, [Dbl]>; +def TLI_acosh_finite : TargetLibCall<__acosh_finite>; /// float __acoshf_finite(float x); -def TLI_acoshf_finite : TargetLibCall_D<"__acoshf_finite", Flt, [Flt]>; +def TLI_acoshf_finite : TargetLibCall<__acoshf_finite>; /// long double __acoshl_finite(long double x); -def TLI_acoshl_finite : TargetLibCall_D<"__acoshl_finite", LDbl, [LDbl]>; +def TLI_acoshl_finite : TargetLibCall<__acoshl_finite>; /// long double __acosl_finite(long double x); -def TLI_acosl_finite : TargetLibCall_D<"__acosl_finite", LDbl, [LDbl]>; +def TLI_acosl_finite : TargetLibCall<__acosl_finite>; /// double __asin_finite(double x); -def TLI_asin_finite : TargetLibCall_D<"__asin_finite", Dbl, [Dbl]>; +def TLI_asin_finite : TargetLibCall<__asin_finite>; /// float __asinf_finite(float x); -def TLI_asinf_finite : TargetLibCall_D<"__asinf_finite", Flt, [Flt]>; +def TLI_asinf_finite : TargetLibCall<__asinf_finite>; /// long double __asinl_finite(long double x); -def TLI_asinl_finite : TargetLibCall_D<"__asinl_finite", LDbl, [LDbl]>; +def TLI_asinl_finite : TargetLibCall<__asinl_finite>; /// double atan2_finite(double y, double x); -def TLI_atan2_finite : TargetLibCall_D<"__atan2_finite", Dbl, [Dbl, Dbl]>; +def TLI_atan2_finite : TargetLibCall<__atan2_finite>; /// float atan2f_finite(float y, float x); -def TLI_atan2f_finite : TargetLibCall_D<"__atan2f_finite", Flt, [Flt, Flt]>; +def TLI_atan2f_finite : TargetLibCall<__atan2f_finite>; /// long double atan2l_finite(long double y, long double x); -def TLI_atan2l_finite : TargetLibCall_D<"__atan2l_finite", LDbl, [LDbl, LDbl]>; +def TLI_atan2l_finite : TargetLibCall<__atan2l_finite>; /// double __atanh_finite(double x); -def TLI_atanh_finite : TargetLibCall_D<"__atanh_finite", Dbl, [Dbl]>; +def TLI_atanh_finite : TargetLibCall<__atanh_finite>; /// float __atanhf_finite(float x); -def TLI_atanhf_finite : TargetLibCall_D<"__atanhf_finite", Flt, [Flt]>; +def TLI_atanhf_finite : TargetLibCall<__atanhf_finite>; /// long double __atanhl_finite(long double x); -def TLI_atanhl_finite : TargetLibCall_D<"__atanhl_finite", LDbl, [LDbl]>; +def TLI_atanhl_finite : TargetLibCall<__atanhl_finite>; /// void __atomic_load(size_t size, void *mptr, void *vptr, int smodel); -def TLI_atomic_load : TargetLibCall_R<__atomic_load>; +def TLI_atomic_load : TargetLibCall<__atomic_load>; /// void __atomic_store(size_t size, void *mptr, void *vptr, int smodel); -def TLI_atomic_store : TargetLibCall_R<__atomic_store>; +def TLI_atomic_store : TargetLibCall<__atomic_store>; /// double __cosh_finite(double x); -def TLI_cosh_finite : TargetLibCall_D<"__cosh_finite", Dbl, [Dbl]>; +def TLI_cosh_finite : TargetLibCall<__cosh_finite>; /// float __coshf_finite(float x); -def TLI_coshf_finite : TargetLibCall_D<"__coshf_finite", Flt, [Flt]>; +def TLI_coshf_finite : TargetLibCall<__coshf_finite>; /// long double __coshl_finite(long double x); -def TLI_coshl_finite : TargetLibCall_D<"__coshl_finite", LDbl, [LDbl]>; +def TLI_coshl_finite : TargetLibCall<__coshl_finite>; /// double __cospi(double x); -def TLI_cospi : TargetLibCall_D<"__cospi", Dbl, [Dbl]>; +def TLI_cospi : TargetLibCall<__cospi>; /// float __cospif(float x); -def TLI_cospif : TargetLibCall_D<"__cospif", Flt, [Flt]>; +def TLI_cospif : TargetLibCall<__cospif>; /// int __cxa_atexit(void (*f)(void *), void *p, void *d); -def TLI_cxa_atexit : TargetLibCall_R<__cxa_atexit>; +def TLI_cxa_atexit : TargetLibCall<__cxa_atexit>; /// int atexit(void (*f)(void)); -def TLI_atexit : TargetLibCall_R; +def TLI_atexit : TargetLibCall; /// void abort(void) -def TLI_abort : TargetLibCall_R; +def TLI_abort : TargetLibCall; /// void exit(int) -def TLI_exit : TargetLibCall_R; +def TLI_exit : TargetLibCall; /// void _Exit(int) -def TLI_Exit : TargetLibCall_D<"_Exit", Void, [Int]>; +def TLI_Exit : TargetLibCall<_Exit>; /// void std::terminate(); -def TLI_terminate : TargetLibCall_R<_ZSt9terminatev>; +def TLI_terminate : TargetLibCall<_ZSt9terminatev>; /// void __cxa_throw(void *, void *, void (*)(void *)); -def TLI_cxa_throw : TargetLibCall_R<__cxa_throw>; +def TLI_cxa_throw : TargetLibCall<__cxa_throw>; /// void __cxa_guard_abort(guard_t *guard); /// guard_t is int64_t in Itanium ABI or int32_t on ARM eabi. -def TLI_cxa_guard_abort : TargetLibCall_R<__cxa_guard_abort>; +def TLI_cxa_guard_abort : TargetLibCall<__cxa_guard_abort>; /// int __cxa_guard_acquire(guard_t *guard); -def TLI_cxa_guard_acquire : TargetLibCall_R<__cxa_guard_acquire>; +def TLI_cxa_guard_acquire : TargetLibCall<__cxa_guard_acquire>; /// void __cxa_guard_release(guard_t *guard); -def TLI_cxa_guard_release : TargetLibCall_R<__cxa_guard_release>; +def TLI_cxa_guard_release : TargetLibCall<__cxa_guard_release>; /// double __exp10_finite(double x); -def TLI_exp10_finite : TargetLibCall_D<"__exp10_finite", Dbl, [Dbl]>; +def TLI_exp10_finite : TargetLibCall<__exp10_finite>; /// float __exp10f_finite(float x); -def TLI_exp10f_finite : TargetLibCall_D<"__exp10f_finite", Flt, [Flt]>; +def TLI_exp10f_finite : TargetLibCall<__exp10f_finite>; /// long double __exp10l_finite(long double x); -def TLI_exp10l_finite : TargetLibCall_D<"__exp10l_finite", LDbl, [LDbl]>; +def TLI_exp10l_finite : TargetLibCall<__exp10l_finite>; /// double __exp2_finite(double x); -def TLI_exp2_finite : TargetLibCall_R<__exp2_finite>; +def TLI_exp2_finite : TargetLibCall<__exp2_finite>; /// float __exp2f_finite(float x); -def TLI_exp2f_finite : TargetLibCall_R<__exp2f_finite>; +def TLI_exp2f_finite : TargetLibCall<__exp2f_finite>; /// long double __exp2l_finite(long double x); -def TLI_exp2l_finite : TargetLibCall_R<__exp2l_finite_f128>; +def TLI_exp2l_finite : TargetLibCall<__exp2l_finite_f128>; /// double __exp_finite(double x); -def TLI_exp_finite : TargetLibCall_R<__exp_finite>; +def TLI_exp_finite : TargetLibCall<__exp_finite>; /// float __expf_finite(float x); -def TLI_expf_finite : TargetLibCall_R<__expf_finite>; +def TLI_expf_finite : TargetLibCall<__expf_finite>; /// long double __expl_finite(long double x); -def TLI_expl_finite : TargetLibCall_R<__expl_finite_f128>; +def TLI_expl_finite : TargetLibCall<__expl_finite_f128>; /// int __isoc99_scanf (const char *format, ...) -def TLI_dunder_isoc99_scanf : TargetLibCall_R<__isoc99_scanf>; +def TLI_dunder_isoc99_scanf : TargetLibCall<__isoc99_scanf>; /// int __isoc99_sscanf(const char *s, const char *format, ...) -def TLI_dunder_isoc99_sscanf : TargetLibCall_R<__isoc99_sscanf>; +def TLI_dunder_isoc99_sscanf : TargetLibCall<__isoc99_sscanf>; /// double __log10_finite(double x); -def TLI_log10_finite : TargetLibCall_R<__log10_finite>; +def TLI_log10_finite : TargetLibCall<__log10_finite>; /// float __log10f_finite(float x); -def TLI_log10f_finite : TargetLibCall_R<__log10f_finite>; +def TLI_log10f_finite : TargetLibCall<__log10f_finite>; /// long double __log10l_finite(long double x); -def TLI_log10l_finite : TargetLibCall_R<__log10l_finite_f128>; +def TLI_log10l_finite : TargetLibCall<__log10l_finite_f128>; /// double __log2_finite(double x); -def TLI_log2_finite : TargetLibCall_R<__log2_finite>; +def TLI_log2_finite : TargetLibCall<__log2_finite>; /// float __log2f_finite(float x); -def TLI_log2f_finite : TargetLibCall_R<__log2f_finite>; +def TLI_log2f_finite : TargetLibCall<__log2f_finite>; /// long double __log2l_finite(long double x); -def TLI_log2l_finite : TargetLibCall_R<__log2l_finite_f128>; +def TLI_log2l_finite : TargetLibCall<__log2l_finite_f128>; /// double __log_finite(double x); -def TLI_log_finite : TargetLibCall_R<__log_finite>; +def TLI_log_finite : TargetLibCall<__log_finite>; /// float __logf_finite(float x); -def TLI_logf_finite : TargetLibCall_R<__logf_finite>; +def TLI_logf_finite : TargetLibCall<__logf_finite>; /// long double __logl_finite(long double x); -def TLI_logl_finite : TargetLibCall_R<__logl_finite_f128>; +def TLI_logl_finite : TargetLibCall<__logl_finite_f128>; /// void *__memccpy_chk(void *dst, const void *src, int c, size_t n, /// size_t dstsize) -def TLI_memccpy_chk : TargetLibCall_R<__memccpy_chk>; +def TLI_memccpy_chk : TargetLibCall<__memccpy_chk>; /// void *__memcpy_chk(void *s1, const void *s2, size_t n, size_t s1size); -def TLI_memcpy_chk : TargetLibCall_R<__memcpy_chk>; +def TLI_memcpy_chk : TargetLibCall<__memcpy_chk>; /// void *__memmove_chk(void *s1, const void *s2, size_t n, size_t s1size); -def TLI_memmove_chk : TargetLibCall_R<__memmove_chk>; +def TLI_memmove_chk : TargetLibCall<__memmove_chk>; /// void *__mempcpy_chk(void *s1, const void *s2, size_t n, size_t s1size); -def TLI_mempcpy_chk : TargetLibCall_R<__mempcpy_chk>; +def TLI_mempcpy_chk : TargetLibCall<__mempcpy_chk>; /// void *__memset_chk(void *s, int v, size_t n, size_t s1size); -def TLI_memset_chk : TargetLibCall_R<__memset_chk>; +def TLI_memset_chk : TargetLibCall<__memset_chk>; // int __nvvm_reflect(const char *) -def TLI_nvvm_reflect : TargetLibCall_D<"__nvvm_reflect", Int, [Ptr]>; +def TLI_nvvm_reflect : TargetLibCall<__nvvm_reflect>; /// double __pow_finite(double x, double y); -def TLI_pow_finite : TargetLibCall_R<__pow_finite>; +def TLI_pow_finite : TargetLibCall<__pow_finite>; /// float _powf_finite(float x, float y); -def TLI_powf_finite : TargetLibCall_R<__powf_finite>; +def TLI_powf_finite : TargetLibCall<__powf_finite>; /// long double __powl_finite(long double x, long double y); -def TLI_powl_finite : TargetLibCall_R<__powl_finite_f128>; +def TLI_powl_finite : TargetLibCall<__powl_finite_f128>; /// double __sincospi_stret(double x); -def TLI_sincospi_stret - : TargetLibCall_D<"__sincospi_stret", ? /* Checked manually. */>; +def TLI_sincospi_stret : TargetLibCall<__sincospi_stret>; /// float __sincospif_stret(float x); -def TLI_sincospif_stret - : TargetLibCall_D<"__sincospif_stret", ? /* Checked manually. */>; +def TLI_sincospif_stret : TargetLibCall<__sincospif_stret>; /// double __sinh_finite(double x); -def TLI_sinh_finite : TargetLibCall_D<"__sinh_finite", Dbl, [Dbl]>; +def TLI_sinh_finite : TargetLibCall<__sinh_finite>; /// float _sinhf_finite(float x); -def TLI_sinhf_finite : TargetLibCall_D<"__sinhf_finite", Flt, [Flt]>; +def TLI_sinhf_finite : TargetLibCall<__sinhf_finite>; /// long double __sinhl_finite(long double x); -def TLI_sinhl_finite : TargetLibCall_D<"__sinhl_finite", LDbl, [LDbl]>; +def TLI_sinhl_finite : TargetLibCall<__sinhl_finite>; /// double __sinpi(double x); -def TLI_sinpi : TargetLibCall_D<"__sinpi", Dbl, [Dbl]>; +def TLI_sinpi : TargetLibCall<__sinpi>; /// float __sinpif(float x); -def TLI_sinpif : TargetLibCall_D<"__sinpif", Flt, [Flt]>; +def TLI_sinpif : TargetLibCall<__sinpif>; /// int __small_fprintf(FILE *stream, const char *format, ...); -def TLI_small_fprintf : TargetLibCall_R<__small_fprintf>; +def TLI_small_fprintf : TargetLibCall<__small_fprintf>; /// int __small_printf(const char *format, ...); -def TLI_small_printf : TargetLibCall_R<__small_printf>; +def TLI_small_printf : TargetLibCall<__small_printf>; /// int __small_sprintf(char *str, const char *format, ...); -def TLI_small_sprintf : TargetLibCall_R<__small_sprintf>; +def TLI_small_sprintf : TargetLibCall<__small_sprintf>; /// int __snprintf_chk(char *s, size_t n, int flags, size_t slen, /// const char *format, ...); -def TLI_snprintf_chk : TargetLibCall_R<__snprintf_chk>; +def TLI_snprintf_chk : TargetLibCall<__snprintf_chk>; /// int __sprintf_chk(char *str, int flags, size_t str_len, /// const char *format, ...); -def TLI_sprintf_chk : TargetLibCall_R<__sprintf_chk>; +def TLI_sprintf_chk : TargetLibCall<__sprintf_chk>; /// double __sqrt_finite(double x); -def TLI_sqrt_finite : TargetLibCall_D<"__sqrt_finite", Dbl, [Dbl]>; +def TLI_sqrt_finite : TargetLibCall<__sqrt_finite>; /// float __sqrt_finite(float x); -def TLI_sqrtf_finite : TargetLibCall_D<"__sqrtf_finite", Flt, [Flt]>; +def TLI_sqrtf_finite : TargetLibCall<__sqrtf_finite>; /// long double __sqrt_finite(long double x); -def TLI_sqrtl_finite : TargetLibCall_D<"__sqrtl_finite", LDbl, [LDbl]>; +def TLI_sqrtl_finite : TargetLibCall<__sqrtl_finite>; /// char *__stpcpy_chk(char *s1, const char *s2, size_t s1size); -def TLI_stpcpy_chk : TargetLibCall_R<__stpcpy_chk>; +def TLI_stpcpy_chk : TargetLibCall<__stpcpy_chk>; /// char *__stpncpy_chk(char *s1, const char *s2, size_t n, size_t s1size); -def TLI_stpncpy_chk : TargetLibCall_R<__stpncpy_chk>; +def TLI_stpncpy_chk : TargetLibCall<__stpncpy_chk>; /// char *__strcat_chk(char *s1, const char *s2, size_t s1size); -def TLI_strcat_chk : TargetLibCall_R<__strcat_chk>; +def TLI_strcat_chk : TargetLibCall<__strcat_chk>; /// char *__strcpy_chk(char *s1, const char *s2, size_t s1size); -def TLI_strcpy_chk : TargetLibCall_R<__strcpy_chk>; +def TLI_strcpy_chk : TargetLibCall<__strcpy_chk>; /// char * __strdup(const char *s); -def TLI_dunder_strdup : TargetLibCall_R<__strdup>; +def TLI_dunder_strdup : TargetLibCall<__strdup>; /// size_t __strlcat_chk(char *dst, const char *src, size_t size, /// size_t dstsize); -def TLI_strlcat_chk : TargetLibCall_R<__strlcat_chk>; +def TLI_strlcat_chk : TargetLibCall<__strlcat_chk>; /// size_t __strlcpy_chk(char *dst, const char *src, size_t size, /// size_t dstsize); -def TLI_strlcpy_chk : TargetLibCall_R<__strlcpy_chk>; +def TLI_strlcpy_chk : TargetLibCall<__strlcpy_chk>; /// size_t __strlen_chk(const char *s1, size_t s1size); -def TLI_strlen_chk : TargetLibCall_R<__strlen_chk>; +def TLI_strlen_chk : TargetLibCall<__strlen_chk>; /// char *strncat_chk(char *s1, const char *s2, size_t n, size_t s1size); -def TLI_strncat_chk : TargetLibCall_R<__strncat_chk>; +def TLI_strncat_chk : TargetLibCall<__strncat_chk>; /// char *__strncpy_chk(char *s1, const char *s2, size_t n, size_t s1size); -def TLI_strncpy_chk : TargetLibCall_R<__strncpy_chk>; +def TLI_strncpy_chk : TargetLibCall<__strncpy_chk>; /// char *__strndup(const char *s, size_t n); -def TLI_dunder_strndup : TargetLibCall_R<__strndup>; +def TLI_dunder_strndup : TargetLibCall<__strndup>; /// char * __strtok_r(char *s, const char *delim, char **save_ptr); -def TLI_dunder_strtok_r : TargetLibCall_R<__strtok_r>; +def TLI_dunder_strtok_r : TargetLibCall<__strtok_r>; /// int __vsnprintf_chk(char *s, size_t n, int flags, size_t slen, /// const char *format, va_list ap); -def TLI_vsnprintf_chk : TargetLibCall_R<__vsnprintf_chk>; +def TLI_vsnprintf_chk : TargetLibCall<__vsnprintf_chk>; /// int __vsprintf_chk(char *s, int flags, size_t slen, const char *format, /// va_list ap); -def TLI_vsprintf_chk : TargetLibCall_R<__vsprintf_chk>; +def TLI_vsprintf_chk : TargetLibCall<__vsprintf_chk>; /// int abs(int j); -def TLI_abs : TargetLibCall_R; +def TLI_abs : TargetLibCall; /// int access(const char *path, int amode); -def TLI_access : TargetLibCall_R; +def TLI_access : TargetLibCall; /// double acos(double x); -def TLI_acos : TargetLibCall_R; +def TLI_acos : TargetLibCall; /// float acosf(float x); -def TLI_acosf : TargetLibCall_R; +def TLI_acosf : TargetLibCall; /// double acosh(double x); -def TLI_acosh : TargetLibCall_D<"acosh", Dbl, [Dbl]>; +def TLI_acosh : TargetLibCall; /// float acoshf(float x); -def TLI_acoshf : TargetLibCall_D<"acoshf", Flt, [Flt]>; +def TLI_acoshf : TargetLibCall; /// long double acoshl(long double x); -def TLI_acoshl : TargetLibCall_D<"acoshl", LDbl, [LDbl]>; +def TLI_acoshl : TargetLibCall; /// long double acosl(long double x); -def TLI_acosl : TargetLibCall_R; +def TLI_acosl : TargetLibCall; /// void *aligned_alloc(size_t alignment, size_t size); -def TLI_aligned_alloc : TargetLibCall_R; +def TLI_aligned_alloc : TargetLibCall; /// double asin(double x); -def TLI_asin : TargetLibCall_R; +def TLI_asin : TargetLibCall; /// float asinf(float x); -def TLI_asinf : TargetLibCall_R; +def TLI_asinf : TargetLibCall; /// double asinh(double x); -def TLI_asinh : TargetLibCall_D<"asinh", Dbl, [Dbl]>; +def TLI_asinh : TargetLibCall; /// float asinhf(float x); -def TLI_asinhf : TargetLibCall_D<"asinhf", Flt, [Flt]>; +def TLI_asinhf : TargetLibCall; /// long double asinhl(long double x); -def TLI_asinhl : TargetLibCall_D<"asinhl", LDbl, [LDbl]>; +def TLI_asinhl : TargetLibCall; /// long double asinl(long double x); -def TLI_asinl : TargetLibCall_R; +def TLI_asinl : TargetLibCall; /// double atan(double x); -def TLI_atan : TargetLibCall_R; +def TLI_atan : TargetLibCall; /// double atan2(double y, double x); -def TLI_atan2 : TargetLibCall_R; +def TLI_atan2 : TargetLibCall; /// float atan2f(float y, float x); -def TLI_atan2f : TargetLibCall_R; +def TLI_atan2f : TargetLibCall; /// long double atan2l(long double y, long double x); -def TLI_atan2l : TargetLibCall_R; +def TLI_atan2l : TargetLibCall; /// float atanf(float x); -def TLI_atanf : TargetLibCall_R; +def TLI_atanf : TargetLibCall; /// double atanh(double x); -def TLI_atanh : TargetLibCall_D<"atanh", Dbl, [Dbl]>; +def TLI_atanh : TargetLibCall; /// float atanhf(float x); -def TLI_atanhf : TargetLibCall_D<"atanhf", Flt, [Flt]>; +def TLI_atanhf : TargetLibCall; /// long double atanhl(long double x); -def TLI_atanhl : TargetLibCall_D<"atanhl", LDbl, [LDbl]>; +def TLI_atanhl : TargetLibCall; /// long double atanl(long double x); -def TLI_atanl : TargetLibCall_R; +def TLI_atanl : TargetLibCall; /// double atof(const char *str); -def TLI_atof : TargetLibCall_R; +def TLI_atof : TargetLibCall; /// int atoi(const char *str); -def TLI_atoi : TargetLibCall_R; +def TLI_atoi : TargetLibCall; /// long atol(const char *str); -def TLI_atol : TargetLibCall_R; +def TLI_atol : TargetLibCall; /// long long atoll(const char *nptr); -def TLI_atoll : TargetLibCall_R; +def TLI_atoll : TargetLibCall; /// int bcmp(const void *s1, const void *s2, size_t n); -def TLI_bcmp : TargetLibCall_R; +def TLI_bcmp : TargetLibCall; /// void bcopy(const void *s1, void *s2, size_t n); -def TLI_bcopy : TargetLibCall_R; +def TLI_bcopy : TargetLibCall; /// void bzero(void *s, size_t n); -def TLI_bzero : TargetLibCall_R; +def TLI_bzero : TargetLibCall; /// double cabs(double complex z) -def TLI_cabs : TargetLibCall_R; +def TLI_cabs : TargetLibCall; /// float cabs(float complex z) -def TLI_cabsf : TargetLibCall_R; +def TLI_cabsf : TargetLibCall; /// long double cabs(long double complex z) -def TLI_cabsl : TargetLibCall_R; +def TLI_cabsl : TargetLibCall; /// void *calloc(size_t count, size_t size); -def TLI_calloc : TargetLibCall_R; +def TLI_calloc : TargetLibCall; /// double cbrt(double x); -def TLI_cbrt : TargetLibCall_R; +def TLI_cbrt : TargetLibCall; /// float cbrtf(float x); -def TLI_cbrtf : TargetLibCall_R; +def TLI_cbrtf : TargetLibCall; /// long double cbrtl(long double x); -def TLI_cbrtl : TargetLibCall_R; +def TLI_cbrtl : TargetLibCall; /// double ceil(double x); -def TLI_ceil : TargetLibCall_R; +def TLI_ceil : TargetLibCall; /// float ceilf(float x); -def TLI_ceilf : TargetLibCall_R; +def TLI_ceilf : TargetLibCall; /// long double ceill(long double x); -def TLI_ceill : TargetLibCall_R; +def TLI_ceill : TargetLibCall; /// int chmod(const char *path, mode_t mode); -def TLI_chmod : TargetLibCall_R; +def TLI_chmod : TargetLibCall; /// int chown(const char *path, uid_t owner, gid_t group); -def TLI_chown : TargetLibCall_R; +def TLI_chown : TargetLibCall; /// void clearerr(FILE *stream); -def TLI_clearerr : TargetLibCall_R; +def TLI_clearerr : TargetLibCall; /// int closedir(DIR *dirp); -def TLI_closedir : TargetLibCall_R; +def TLI_closedir : TargetLibCall; /// double copysign(double x, double y); -def TLI_copysign : TargetLibCall_R; +def TLI_copysign : TargetLibCall; /// float copysignf(float x, float y); -def TLI_copysignf : TargetLibCall_R; +def TLI_copysignf : TargetLibCall; /// long double copysignl(long double x, long double y); -def TLI_copysignl : TargetLibCall_R; +def TLI_copysignl : TargetLibCall; /// double cos(double x); -def TLI_cos : TargetLibCall_R; +def TLI_cos : TargetLibCall; /// float cosf(float x); -def TLI_cosf : TargetLibCall_R; +def TLI_cosf : TargetLibCall; /// double cosh(double x); -def TLI_cosh : TargetLibCall_R; +def TLI_cosh : TargetLibCall; /// float coshf(float x); -def TLI_coshf : TargetLibCall_R; +def TLI_coshf : TargetLibCall; /// long double coshl(long double x); -def TLI_coshl : TargetLibCall_R; +def TLI_coshl : TargetLibCall; /// long double cosl(long double x); -def TLI_cosl : TargetLibCall_R; +def TLI_cosl : TargetLibCall; /// char *ctermid(char *s); -def TLI_ctermid : TargetLibCall_R; +def TLI_ctermid : TargetLibCall; /// double erf(double x); -def TLI_erf : TargetLibCall_D<"erf", Dbl, [Dbl]>; +def TLI_erf : TargetLibCall; /// float erff(float x); -def TLI_erff : TargetLibCall_D<"erff", Flt, [Flt]>; +def TLI_erff : TargetLibCall; /// long double erfl(long double x); -def TLI_erfl : TargetLibCall_D<"erfl", LDbl, [LDbl]>; +def TLI_erfl : TargetLibCall; /// double tgamma(double x); -def TLI_tgamma : TargetLibCall_R; +def TLI_tgamma : TargetLibCall; /// float tgammaf(float x); -def TLI_tgammaf : TargetLibCall_R; +def TLI_tgammaf : TargetLibCall; /// long double tgammal(long double x); -def TLI_tgammal : TargetLibCall_R; +def TLI_tgammal : TargetLibCall; /// int execl(const char *path, const char *arg, ...); -def TLI_execl : TargetLibCall_R; +def TLI_execl : TargetLibCall; /// int execle(const char *file, const char *arg, ..., char * const envp[]); -def TLI_execle : TargetLibCall_R; +def TLI_execle : TargetLibCall; /// int execlp(const char *file, const char *arg, ...); -def TLI_execlp : TargetLibCall_R; +def TLI_execlp : TargetLibCall; /// int execv(const char *path, char *const argv[]); -def TLI_execv : TargetLibCall_R; +def TLI_execv : TargetLibCall; /// int execvP(const char *file, const char *search_path, char *const argv[]); -def TLI_execvP : TargetLibCall_D<"execvP", Int, [Ptr, Ptr, Ptr]>; +def TLI_execvP : TargetLibCall; /// int execve(const char *filename, char *const argv], [char *const envp[]); -def TLI_execve : TargetLibCall_R; +def TLI_execve : TargetLibCall; /// int execvp(const char *file, char *const argv[]); -def TLI_execvp : TargetLibCall_R; +def TLI_execvp : TargetLibCall; /// int execvpe(const char *file, char *const argv], [char *const envp[]); -def TLI_execvpe : TargetLibCall_R; +def TLI_execvpe : TargetLibCall; /// double exp(double x); -def TLI_exp : TargetLibCall_R; +def TLI_exp : TargetLibCall; /// double exp10(double x); -def TLI_exp10 : TargetLibCall_R; +def TLI_exp10 : TargetLibCall; /// float exp10f(float x); -def TLI_exp10f : TargetLibCall_R; +def TLI_exp10f : TargetLibCall; /// long double exp10l(long double x); -def TLI_exp10l : TargetLibCall_R; +def TLI_exp10l : TargetLibCall; /// double exp2(double x); -def TLI_exp2 : TargetLibCall_R; +def TLI_exp2 : TargetLibCall; /// float exp2f(float x); -def TLI_exp2f : TargetLibCall_R; +def TLI_exp2f : TargetLibCall; /// long double exp2l(long double x); -def TLI_exp2l : TargetLibCall_R; +def TLI_exp2l : TargetLibCall; /// float expf(float x); -def TLI_expf : TargetLibCall_R; +def TLI_expf : TargetLibCall; /// long double expl(long double x); -def TLI_expl : TargetLibCall_R; +def TLI_expl : TargetLibCall; /// double expm1(double x); -def TLI_expm1 : TargetLibCall_D<"expm1", Dbl, [Dbl]>; +def TLI_expm1 : TargetLibCall; /// float expm1f(float x); -def TLI_expm1f : TargetLibCall_D<"expm1f", Flt, [Flt]>; +def TLI_expm1f : TargetLibCall; /// long double expm1l(long double x); -def TLI_expm1l : TargetLibCall_D<"expm1l", LDbl, [LDbl]>; +def TLI_expm1l : TargetLibCall; /// double fabs(double x); -def TLI_fabs : TargetLibCall_D<"fabs", Dbl, [Dbl]>; +def TLI_fabs : TargetLibCall; /// float fabsf(float x); -def TLI_fabsf : TargetLibCall_D<"fabsf", Flt, [Flt]>; +def TLI_fabsf : TargetLibCall; /// long double fabsl(long double x); -def TLI_fabsl : TargetLibCall_D<"fabsl", LDbl, [LDbl]>; +def TLI_fabsl : TargetLibCall; /// int fclose(FILE *stream); -def TLI_fclose : TargetLibCall_R; +def TLI_fclose : TargetLibCall; /// FILE *fdopen(int fildes, const char *mode); -def TLI_fdopen : TargetLibCall_R; +def TLI_fdopen : TargetLibCall; /// int feof(FILE *stream); -def TLI_feof : TargetLibCall_R; +def TLI_feof : TargetLibCall; /// int ferror(FILE *stream); -def TLI_ferror : TargetLibCall_R; +def TLI_ferror : TargetLibCall; /// int fflush(FILE *stream); -def TLI_fflush : TargetLibCall_R; +def TLI_fflush : TargetLibCall; /// int ffs(int i); -def TLI_ffs : TargetLibCall_R; +def TLI_ffs : TargetLibCall; /// int ffsl(long int i); -def TLI_ffsl : TargetLibCall_R; +def TLI_ffsl : TargetLibCall; /// int ffsll(long long int i); -def TLI_ffsll : TargetLibCall_R; +def TLI_ffsll : TargetLibCall; /// int fgetc(FILE *stream); -def TLI_fgetc : TargetLibCall_R; +def TLI_fgetc : TargetLibCall; /// int fgetc_unlocked(FILE *stream); -def TLI_fgetc_unlocked : TargetLibCall_R; +def TLI_fgetc_unlocked : TargetLibCall; /// int fgetpos(FILE *stream, fpos_t *pos); -def TLI_fgetpos : TargetLibCall_R; +def TLI_fgetpos : TargetLibCall; /// char *fgets(char *s, int n, FILE *stream); -def TLI_fgets : TargetLibCall_R; +def TLI_fgets : TargetLibCall; /// char *fgets_unlocked(char *s, int n, FILE *stream); -def TLI_fgets_unlocked : TargetLibCall_R; +def TLI_fgets_unlocked : TargetLibCall; /// int fileno(FILE *stream); -def TLI_fileno : TargetLibCall_R; +def TLI_fileno : TargetLibCall; /// int fiprintf(FILE *stream, const char *format, ...); -def TLI_fiprintf : TargetLibCall_R; +def TLI_fiprintf : TargetLibCall; /// void flockfile(FILE *file); -def TLI_flockfile : TargetLibCall_R; +def TLI_flockfile : TargetLibCall; /// double floor(double x); -def TLI_floor : TargetLibCall_R; +def TLI_floor : TargetLibCall; /// float floorf(float x); -def TLI_floorf : TargetLibCall_R; +def TLI_floorf : TargetLibCall; /// long double floorl(long double x); -def TLI_floorl : TargetLibCall_R; +def TLI_floorl : TargetLibCall; /// int fls(int i); -def TLI_fls : TargetLibCall_R; +def TLI_fls : TargetLibCall; /// int flsl(long int i); -def TLI_flsl : TargetLibCall_R; +def TLI_flsl : TargetLibCall; /// int flsll(long long int i); -def TLI_flsll : TargetLibCall_R; +def TLI_flsll : TargetLibCall; // Calls to fmax and fmin library functions expand to the llvm.maxnnum and // llvm.minnum intrinsics with the correct parameter types for the arguments // (all types must match). /// double fmax(double x, double y); -def TLI_fmax : TargetLibCall_R; +def TLI_fmax : TargetLibCall; /// float fmaxf(float x, float y); -def TLI_fmaxf : TargetLibCall_R; +def TLI_fmaxf : TargetLibCall; /// long double fmaxl(long double x, long double y); -def TLI_fmaxl : TargetLibCall_R; +def TLI_fmaxl : TargetLibCall; /// double fmin(double x, double y); -def TLI_fmin : TargetLibCall_R; +def TLI_fmin : TargetLibCall; /// float fminf(float x, float y); -def TLI_fminf : TargetLibCall_R; +def TLI_fminf : TargetLibCall; /// long double fminl(long double x, long double y); -def TLI_fminl : TargetLibCall_R; +def TLI_fminl : TargetLibCall; // Calls to fmaximum_num and fminimum_num library functions expand to the // llvm.maximumnum and llvm.minimumnum intrinsics with the correct parameter // types for the arguments (all types must match). /// double fmaximum_num(double x, double y); -def TLI_fmaximum_num : TargetLibCall_R; +def TLI_fmaximum_num : TargetLibCall; /// float fmaximum_numf(float x, float y); -def TLI_fmaximum_numf : TargetLibCall_R; +def TLI_fmaximum_numf : TargetLibCall; /// long double fmaximum_numl(long double x, long double y); -def TLI_fmaximum_numl : TargetLibCall_R; +def TLI_fmaximum_numl : TargetLibCall; /// double fminimum_num(double x, double y); -def TLI_fminimum_num : TargetLibCall_R; +def TLI_fminimum_num : TargetLibCall; /// float fminimum_numf(float x, float y); -def TLI_fminimum_numf : TargetLibCall_R; +def TLI_fminimum_numf : TargetLibCall; /// long double fminimum_numl(long double x, long double y); -def TLI_fminimum_numl : TargetLibCall_R; +def TLI_fminimum_numl : TargetLibCall; /// double fmod(double x, double y); -def TLI_fmod : TargetLibCall_R; +def TLI_fmod : TargetLibCall; /// float fmodf(float x, float y); -def TLI_fmodf : TargetLibCall_R; +def TLI_fmodf : TargetLibCall; /// long double fmodl(long double x, long double y); -def TLI_fmodl : TargetLibCall_R; +def TLI_fmodl : TargetLibCall; /// FILE *fopen(const char *filename, const char *mode); -def TLI_fopen : TargetLibCall_R; +def TLI_fopen : TargetLibCall; /// FILE *fopen64(const char *filename, const char *opentype) -def TLI_fopen64 : TargetLibCall_R; +def TLI_fopen64 : TargetLibCall; /// int fork(); -def TLI_fork : TargetLibCall_R; +def TLI_fork : TargetLibCall; /// int fprintf(FILE *stream, const char *format, ...); -def TLI_fprintf : TargetLibCall_R; +def TLI_fprintf : TargetLibCall; /// int fputc(int c, FILE *stream); -def TLI_fputc : TargetLibCall_R; +def TLI_fputc : TargetLibCall; /// int fputc_unlocked(int c, FILE *stream); -def TLI_fputc_unlocked : TargetLibCall_R; +def TLI_fputc_unlocked : TargetLibCall; /// int fputs(const char *s, FILE *stream); -def TLI_fputs : TargetLibCall_R; +def TLI_fputs : TargetLibCall; /// int fputs_unlocked(const char *s, FILE *stream); -def TLI_fputs_unlocked : TargetLibCall_R; +def TLI_fputs_unlocked : TargetLibCall; /// size_t fread(void *ptr, size_t size, size_t nitems, FILE *stream); -def TLI_fread : TargetLibCall_R; +def TLI_fread : TargetLibCall; /// size_t fread_unlocked(void *ptr, size_t size, size_t nitems, FILE *stream); -def TLI_fread_unlocked : TargetLibCall_R; +def TLI_fread_unlocked : TargetLibCall; /// void free(void *ptr); -def TLI_free : TargetLibCall_R; +def TLI_free : TargetLibCall; /// double frexp(double num, int *exp); -def TLI_frexp : TargetLibCall_R; +def TLI_frexp : TargetLibCall; /// float frexpf(float num, int *exp); -def TLI_frexpf : TargetLibCall_R; +def TLI_frexpf : TargetLibCall; /// long double frexpl(long double num, int *exp); -def TLI_frexpl : TargetLibCall_R; +def TLI_frexpl : TargetLibCall; /// int fscanf(FILE *stream, const char *format, ... ); -def TLI_fscanf : TargetLibCall_R; +def TLI_fscanf : TargetLibCall; /// int fseek(FILE *stream, long offset, int whence); -def TLI_fseek : TargetLibCall_R; +def TLI_fseek : TargetLibCall; /// int fseeko(FILE *stream, off_t offset, int whence); -def TLI_fseeko : TargetLibCall_R; +def TLI_fseeko : TargetLibCall; /// int fseeko64(FILE *stream, off64_t offset, int whence) -def TLI_fseeko64 : TargetLibCall_R; +def TLI_fseeko64 : TargetLibCall; /// int fsetpos(FILE *stream, const fpos_t *pos); -def TLI_fsetpos : TargetLibCall_R; +def TLI_fsetpos : TargetLibCall; /// int fstat(int fildes, struct stat *buf); -def TLI_fstat : TargetLibCall_R; +def TLI_fstat : TargetLibCall; /// int fstat64(int filedes, struct stat64 *buf) -def TLI_fstat64 : TargetLibCall_R; +def TLI_fstat64 : TargetLibCall; /// int fstatvfs(int fildes, struct statvfs *buf); -def TLI_fstatvfs : TargetLibCall_R; +def TLI_fstatvfs : TargetLibCall; /// int fstatvfs64(int fildes, struct statvfs64 *buf); -def TLI_fstatvfs64 : TargetLibCall_R; +def TLI_fstatvfs64 : TargetLibCall; /// long ftell(FILE *stream); -def TLI_ftell : TargetLibCall_R; +def TLI_ftell : TargetLibCall; /// off_t ftello(FILE *stream); -def TLI_ftello : TargetLibCall_R; +def TLI_ftello : TargetLibCall; /// off64_t ftello64(FILE *stream) -def TLI_ftello64 : TargetLibCall_R; +def TLI_ftello64 : TargetLibCall; /// int ftrylockfile(FILE *file); -def TLI_ftrylockfile : TargetLibCall_R; +def TLI_ftrylockfile : TargetLibCall; /// void funlockfile(FILE *file); -def TLI_funlockfile : TargetLibCall_R; +def TLI_funlockfile : TargetLibCall; /// size_t fwrite(const void *ptr, size_t size, size_t nitems, FILE *stream); -def TLI_fwrite : TargetLibCall_R; +def TLI_fwrite : TargetLibCall; /// size_t fwrite_unlocked(const void *ptr, size_t size, size_t nitems, /// FILE *stream); -def TLI_fwrite_unlocked : TargetLibCall_R; +def TLI_fwrite_unlocked : TargetLibCall; /// int getc(FILE *stream); -def TLI_getc : TargetLibCall_R; +def TLI_getc : TargetLibCall; /// int getc_unlocked(FILE *stream); -def TLI_getc_unlocked : TargetLibCall_R; +def TLI_getc_unlocked : TargetLibCall; /// int getchar(void); -def TLI_getchar : TargetLibCall_R; +def TLI_getchar : TargetLibCall; /// int getchar_unlocked(void); -def TLI_getchar_unlocked : TargetLibCall_R; +def TLI_getchar_unlocked : TargetLibCall; /// char *getenv(const char *name); -def TLI_getenv : TargetLibCall_R; +def TLI_getenv : TargetLibCall; /// int getitimer(int which, struct itimerval *value); -def TLI_getitimer : TargetLibCall_R; +def TLI_getitimer : TargetLibCall; /// int getlogin_r(char *name, size_t namesize); -def TLI_getlogin_r : TargetLibCall_R; +def TLI_getlogin_r : TargetLibCall; /// struct passwd *getpwnam(const char *name); -def TLI_getpwnam : TargetLibCall_R; +def TLI_getpwnam : TargetLibCall; /// char *gets(char *s); -def TLI_gets : TargetLibCall_R; +def TLI_gets : TargetLibCall; /// int gettimeofday(struct timeval *tp, void *tzp); -def TLI_gettimeofday : TargetLibCall_R; +def TLI_gettimeofday : TargetLibCall; /// uint32_t htonl(uint32_t hostlong); -def TLI_htonl : TargetLibCall_R; +def TLI_htonl : TargetLibCall; /// uint16_t htons(uint16_t hostshort); -def TLI_htons : TargetLibCall_R; +def TLI_htons : TargetLibCall; /// double hypot(double x, double y); -def TLI_hypot : TargetLibCall_D<"hypot", Dbl, [Dbl, Dbl]>; +def TLI_hypot : TargetLibCall; /// float hypotf(float x, float y); -def TLI_hypotf : TargetLibCall_D<"hypotf", Flt, [Flt, Flt]>; +def TLI_hypotf : TargetLibCall; /// long double hypotl(long double x, long double y); -def TLI_hypotl : TargetLibCall_D<"hypotl", LDbl, [LDbl, LDbl]>; +def TLI_hypotl : TargetLibCall; /// int iprintf(const char *format, ...); -def TLI_iprintf : TargetLibCall_R; +def TLI_iprintf : TargetLibCall; /// int isascii(int c); -def TLI_isascii : TargetLibCall_R; +def TLI_isascii : TargetLibCall; /// int isdigit(int c); -def TLI_isdigit : TargetLibCall_R; +def TLI_isdigit : TargetLibCall; /// long int labs(long int j); -def TLI_labs : TargetLibCall_R; +def TLI_labs : TargetLibCall; /// int lchown(const char *path, uid_t owner, gid_t group); -def TLI_lchown : TargetLibCall_R; +def TLI_lchown : TargetLibCall; /// double ldexp(double x, int n); -def TLI_ldexp : TargetLibCall_R; +def TLI_ldexp : TargetLibCall; /// float ldexpf(float x, int n); -def TLI_ldexpf : TargetLibCall_R; +def TLI_ldexpf : TargetLibCall; /// long double ldexpl(long double x, int n); -def TLI_ldexpl : TargetLibCall_R; +def TLI_ldexpl : TargetLibCall; /// long long int llabs(long long int j); -def TLI_llabs : TargetLibCall_R; +def TLI_llabs : TargetLibCall; /// double log(double x); -def TLI_log : TargetLibCall_R; +def TLI_log : TargetLibCall; /// double log10(double x); -def TLI_log10 : TargetLibCall_R; +def TLI_log10 : TargetLibCall; /// float log10f(float x); -def TLI_log10f : TargetLibCall_R; +def TLI_log10f : TargetLibCall; /// long double log10l(long double x); -def TLI_log10l : TargetLibCall_R; +def TLI_log10l : TargetLibCall; /// double log1p(double x); -def TLI_log1p : TargetLibCall_D<"log1p", Dbl, [Dbl]>; +def TLI_log1p : TargetLibCall; /// float log1pf(float x); -def TLI_log1pf : TargetLibCall_D<"log1pf", Flt, [Flt]>; +def TLI_log1pf : TargetLibCall; /// long double log1pl(long double x); -def TLI_log1pl : TargetLibCall_D<"log1pl", LDbl, [LDbl]>; +def TLI_log1pl : TargetLibCall; /// double log2(double x); -def TLI_log2 : TargetLibCall_R; +def TLI_log2 : TargetLibCall; /// float log2f(float x); -def TLI_log2f : TargetLibCall_R; +def TLI_log2f : TargetLibCall; /// double long double log2l(long double x); -def TLI_log2l : TargetLibCall_R; +def TLI_log2l : TargetLibCall; /// int ilogb(double x); -def TLI_ilogb : TargetLibCall_D<"ilogb", Int, [Dbl]>; +def TLI_ilogb : TargetLibCall; /// int ilogbf(float x); -def TLI_ilogbf : TargetLibCall_D<"ilogbf", Int, [Flt]>; +def TLI_ilogbf : TargetLibCall; /// int ilogbl(long double x); -def TLI_ilogbl : TargetLibCall_D<"ilogbl", Int, [LDbl]>; +def TLI_ilogbl : TargetLibCall; /// double logb(double x); -def TLI_logb : TargetLibCall_D<"logb", Dbl, [Dbl]>; +def TLI_logb : TargetLibCall; /// float logbf(float x); -def TLI_logbf : TargetLibCall_D<"logbf", Flt, [Flt]>; +def TLI_logbf : TargetLibCall; /// long double logbl(long double x); -def TLI_logbl : TargetLibCall_D<"logbl", LDbl, [LDbl]>; +def TLI_logbl : TargetLibCall; /// float logf(float x); -def TLI_logf : TargetLibCall_R; +def TLI_logf : TargetLibCall; /// long double logl(long double x); -def TLI_logl : TargetLibCall_R; +def TLI_logl : TargetLibCall; /// int lstat(const char *path, struct stat *buf); -def TLI_lstat : TargetLibCall_R; +def TLI_lstat : TargetLibCall; /// int lstat64(const char *path, struct stat64 *buf); -def TLI_lstat64 : TargetLibCall_R; +def TLI_lstat64 : TargetLibCall; /// void *malloc(size_t size); -def TLI_malloc : TargetLibCall_R; +def TLI_malloc : TargetLibCall; /// void *memalign(size_t boundary, size_t size); -def TLI_memalign : TargetLibCall_R; +def TLI_memalign : TargetLibCall; /// void *memccpy(void *s1, const void *s2, int c, size_t n); -def TLI_memccpy : TargetLibCall_R; +def TLI_memccpy : TargetLibCall; /// void *memchr(const void *s, int c, size_t n); -def TLI_memchr : TargetLibCall_R; +def TLI_memchr : TargetLibCall; /// int memcmp(const void *s1, const void *s2, size_t n); -def TLI_memcmp : TargetLibCall_R; +def TLI_memcmp : TargetLibCall; /// void *memcpy(void *s1, const void *s2, size_t n); -def TLI_memcpy : TargetLibCall_R; +def TLI_memcpy : TargetLibCall; /// void *memmove(void *s1, const void *s2, size_t n); -def TLI_memmove : TargetLibCall_R; +def TLI_memmove : TargetLibCall; /// void *mempcpy(void *s1, const void *s2, size_t n); -def TLI_mempcpy : TargetLibCall_R; +def TLI_mempcpy : TargetLibCall; /// void *memrchr(const void *s, int c, size_t n); -def TLI_memrchr : TargetLibCall_R; +def TLI_memrchr : TargetLibCall; /// void *memset(void *b, int c, size_t len); -def TLI_memset : TargetLibCall_R; +def TLI_memset : TargetLibCall; /// void memset_pattern16(void *b, const void *pattern16, size_t len); -def TLI_memset_pattern16 : TargetLibCall_R; +def TLI_memset_pattern16 : TargetLibCall; /// void memset_pattern4(void *b, const void *pattern4, size_t len); -def TLI_memset_pattern4 : TargetLibCall_R; +def TLI_memset_pattern4 : TargetLibCall; /// void memset_pattern8(void *b, const void *pattern8, size_t len); -def TLI_memset_pattern8 : TargetLibCall_R; +def TLI_memset_pattern8 : TargetLibCall; /// int mkdir(const char *path, mode_t mode); -def TLI_mkdir : TargetLibCall_R; +def TLI_mkdir : TargetLibCall; /// time_t mktime(struct tm *timeptr); -def TLI_mktime : TargetLibCall_R; +def TLI_mktime : TargetLibCall; /// double modf(double x, double *iptr); -def TLI_modf : TargetLibCall_R; +def TLI_modf : TargetLibCall; /// float modff(float, float *iptr); -def TLI_modff : TargetLibCall_R; +def TLI_modff : TargetLibCall; /// long double modfl(long double value, long double *iptr); -def TLI_modfl : TargetLibCall_R; +def TLI_modfl : TargetLibCall; /// double nan(const char *arg); -def TLI_nan : TargetLibCall_R; +def TLI_nan : TargetLibCall; /// float nanf(const char *arg); -def TLI_nanf : TargetLibCall_R; +def TLI_nanf : TargetLibCall; /// long double nanl(const char *arg); -def TLI_nanl : TargetLibCall_R; +def TLI_nanl : TargetLibCall; /// double nearbyint(double x); -def TLI_nearbyint : TargetLibCall_R; +def TLI_nearbyint : TargetLibCall; /// float nearbyintf(float x); -def TLI_nearbyintf : TargetLibCall_R; +def TLI_nearbyintf : TargetLibCall; /// long double nearbyintl(long double x); -def TLI_nearbyintl : TargetLibCall_R; +def TLI_nearbyintl : TargetLibCall; /// double nextafter(double x, double y); -def TLI_nextafter : TargetLibCall_D< "nextafter", Dbl, [Dbl, Dbl]>; +def TLI_nextafter : TargetLibCall; /// float nextafterf(float x, float y); -def TLI_nextafterf : TargetLibCall_D< "nextafterf", Flt, [Flt, Flt]>; +def TLI_nextafterf : TargetLibCall; /// long double nextafterl(long double x, long double y); -def TLI_nextafterl : TargetLibCall_D< "nextafterl", LDbl, [LDbl, LDbl]>; +def TLI_nextafterl : TargetLibCall; /// double nexttoward(double x, long double y); -def TLI_nexttoward : TargetLibCall_R; +def TLI_nexttoward : TargetLibCall; /// float nexttowardf(float x, long double y); -def TLI_nexttowardf : TargetLibCall_R; +def TLI_nexttowardf : TargetLibCall; /// long double nexttowardl(long double x, long double y); -def TLI_nexttowardl : TargetLibCall_R; +def TLI_nexttowardl : TargetLibCall; /// uint32_t ntohl(uint32_t netlong); -def TLI_ntohl : TargetLibCall_R; +def TLI_ntohl : TargetLibCall; /// uint16_t ntohs(uint16_t netshort); -def TLI_ntohs : TargetLibCall_R; +def TLI_ntohs : TargetLibCall; /// int open(const char *path, int oflag, ... ); -def TLI_open : TargetLibCall_R; +def TLI_open : TargetLibCall; /// int open64(const char *filename, int flags, [mode_t mode]) -def TLI_open64 : TargetLibCall_R; +def TLI_open64 : TargetLibCall; /// DIR *opendir(const char *dirname); -def TLI_opendir : TargetLibCall_R; +def TLI_opendir : TargetLibCall; /// int pclose(FILE *stream); -def TLI_pclose : TargetLibCall_R; +def TLI_pclose : TargetLibCall; /// void perror(const char *s); -def TLI_perror : TargetLibCall_R; +def TLI_perror : TargetLibCall; /// FILE *popen(const char *command, const char *mode); -def TLI_popen : TargetLibCall_R; +def TLI_popen : TargetLibCall; /// int posix_memalign(void **memptr, size_t alignment, size_t size); -def TLI_posix_memalign : TargetLibCall_R; +def TLI_posix_memalign : TargetLibCall; /// double pow(double x, double y); -def TLI_pow : TargetLibCall_R; +def TLI_pow : TargetLibCall; /// float powf(float x, float y); -def TLI_powf : TargetLibCall_R; +def TLI_powf : TargetLibCall; /// long double powl(long double x, long double y); -def TLI_powl : TargetLibCall_R; +def TLI_powl : TargetLibCall; /// ssize_t pread(int fildes, void *buf, size_t nbyte, off_t offset); -def TLI_pread : TargetLibCall_R; +def TLI_pread : TargetLibCall; /// int printf(const char *format, ...); -def TLI_printf : TargetLibCall_R; +def TLI_printf : TargetLibCall; /// int putc(int c, FILE *stream); -def TLI_putc : TargetLibCall_R; +def TLI_putc : TargetLibCall; /// int putc_unlocked(int c, FILE *stream); -def TLI_putc_unlocked : TargetLibCall_R; +def TLI_putc_unlocked : TargetLibCall; /// int putchar(int c); -def TLI_putchar : TargetLibCall_R; +def TLI_putchar : TargetLibCall; /// int putchar_unlocked(int c); -def TLI_putchar_unlocked : TargetLibCall_R; +def TLI_putchar_unlocked : TargetLibCall; /// int puts(const char *s); -def TLI_puts : TargetLibCall_R; +def TLI_puts : TargetLibCall; /// void *pvalloc(size_t size); -def TLI_pvalloc : TargetLibCall_R; +def TLI_pvalloc : TargetLibCall; /// ssize_t pwrite(int fildes, const void *buf, size_t nbyte, off_t offset); -def TLI_pwrite : TargetLibCall_R; +def TLI_pwrite : TargetLibCall; /// void qsort(void *base, size_t nel, size_t width, /// int (*compar)(const void *, const void *)); -def TLI_qsort : TargetLibCall_R; +def TLI_qsort : TargetLibCall; /// ssize_t read(int fildes, void *buf, size_t nbyte); -def TLI_read : TargetLibCall_R; +def TLI_read : TargetLibCall; /// ssize_t readlink(const char *path, char *buf, size_t bufsize); -def TLI_readlink : TargetLibCall_R; +def TLI_readlink : TargetLibCall; /// void *realloc(void *ptr, size_t size); -def TLI_realloc : TargetLibCall_R; +def TLI_realloc : TargetLibCall; /// void *reallocf(void *ptr, size_t size); -def TLI_reallocf : TargetLibCall_R; +def TLI_reallocf : TargetLibCall; /// void *reallocarray(void *ptr, size_t nmemb, size_t size); -def TLI_reallocarray : TargetLibCall_R; +def TLI_reallocarray : TargetLibCall; /// char *realpath(const char *file_name, char *resolved_name); -def TLI_realpath : TargetLibCall_R; +def TLI_realpath : TargetLibCall; /// double remainder(double x, double y); -def TLI_remainder : TargetLibCall_R; +def TLI_remainder : TargetLibCall; /// float remainderf(float x, float y); -def TLI_remainderf : TargetLibCall_R; +def TLI_remainderf : TargetLibCall; /// long double remainderl(long double x, long double y); -def TLI_remainderl : TargetLibCall_R; +def TLI_remainderl : TargetLibCall; /// double remquo(double x, double y, int *quo); -def TLI_remquo : TargetLibCall_R; +def TLI_remquo : TargetLibCall; /// float remquof(float x, float y, int *quo); -def TLI_remquof : TargetLibCall_R; +def TLI_remquof : TargetLibCall; /// long double remquol(long double x, long double y, int *quo); -def TLI_remquol : TargetLibCall_R; +def TLI_remquol : TargetLibCall; /// double fdim(double x, double y); -def TLI_fdim : TargetLibCall_R; +def TLI_fdim : TargetLibCall; /// float fdimf(float x, float y); -def TLI_fdimf : TargetLibCall_R; +def TLI_fdimf : TargetLibCall; /// long double fdiml(long double x, long double y); -def TLI_fdiml : TargetLibCall_R; +def TLI_fdiml : TargetLibCall; /// int remove(const char *path); -def TLI_remove : TargetLibCall_R; +def TLI_remove : TargetLibCall; /// int rename(const char *old, const char *new); -def TLI_rename : TargetLibCall_R; +def TLI_rename : TargetLibCall; /// void rewind(FILE *stream); -def TLI_rewind : TargetLibCall_R; +def TLI_rewind : TargetLibCall; /// double rint(double x); -def TLI_rint : TargetLibCall_R; +def TLI_rint : TargetLibCall; /// float rintf(float x); -def TLI_rintf : TargetLibCall_R; +def TLI_rintf : TargetLibCall; /// long double rintl(long double x); -def TLI_rintl : TargetLibCall_R; +def TLI_rintl : TargetLibCall; /// int rmdir(const char *path); -def TLI_rmdir : TargetLibCall_R; +def TLI_rmdir : TargetLibCall; /// double round(double x); -def TLI_round : TargetLibCall_R; +def TLI_round : TargetLibCall; /// double roundeven(double x); -def TLI_roundeven : TargetLibCall_R; +def TLI_roundeven : TargetLibCall; /// float roundevenf(float x); -def TLI_roundevenf : TargetLibCall_R; +def TLI_roundevenf : TargetLibCall; /// long double roundevenl(long double x); -def TLI_roundevenl : TargetLibCall_R; +def TLI_roundevenl : TargetLibCall; /// float roundf(float x); -def TLI_roundf : TargetLibCall_R; +def TLI_roundf : TargetLibCall; /// long double roundl(long double x); -def TLI_roundl : TargetLibCall_R; +def TLI_roundl : TargetLibCall; /// double scalbln(double arg, long exp); -def TLI_scalbln : TargetLibCall_R; +def TLI_scalbln : TargetLibCall; /// float scalblnf(float arg, long exp); -def TLI_scalblnf : TargetLibCall_R; +def TLI_scalblnf : TargetLibCall; /// long double scalblnl(long double arg, long exp); -def TLI_scalblnl : TargetLibCall_R; +def TLI_scalblnl : TargetLibCall; /// double scalbn(double arg, int exp); -def TLI_scalbn : TargetLibCall_R; +def TLI_scalbn : TargetLibCall; /// float scalbnf(float arg, int exp); -def TLI_scalbnf : TargetLibCall_R; +def TLI_scalbnf : TargetLibCall; /// long double scalbnl(long double arg, int exp); -def TLI_scalbnl : TargetLibCall_R; +def TLI_scalbnl : TargetLibCall; /// int scanf(const char *restrict format, ... ); -def TLI_scanf : TargetLibCall_R; +def TLI_scanf : TargetLibCall; /// void setbuf(FILE *stream, char *buf); -def TLI_setbuf : TargetLibCall_R; +def TLI_setbuf : TargetLibCall; /// int setitimer(int which, const struct itimerval *value, /// struct itimerval *ovalue); -def TLI_setitimer : TargetLibCall_R; +def TLI_setitimer : TargetLibCall; /// int setvbuf(FILE *stream, char *buf, int type, size_t size); -def TLI_setvbuf : TargetLibCall_R; +def TLI_setvbuf : TargetLibCall; /// double sin(double x); -def TLI_sin : TargetLibCall_R; +def TLI_sin : TargetLibCall; /// float sinf(float x); -def TLI_sinf : TargetLibCall_R; +def TLI_sinf : TargetLibCall; /// double sinh(double x); -def TLI_sinh : TargetLibCall_R; +def TLI_sinh : TargetLibCall; /// float sinhf(float x); -def TLI_sinhf : TargetLibCall_R; +def TLI_sinhf : TargetLibCall; /// long double sinhl(long double x); -def TLI_sinhl : TargetLibCall_R; +def TLI_sinhl : TargetLibCall; /// long double sinl(long double x); -def TLI_sinl : TargetLibCall_R; +def TLI_sinl : TargetLibCall; /// void sincos(double x, double *sin_out, double *cos_out); -def TLI_sincos : TargetLibCall_R; +def TLI_sincos : TargetLibCall; /// void sincosf(float x, float *sin_out, float *cos_out); -def TLI_sincosf : TargetLibCall_R; +def TLI_sincosf : TargetLibCall; /// void sincosl(long double x, long double *sin_out, long double *cos_out); -def TLI_sincosl : TargetLibCall_R; +def TLI_sincosl : TargetLibCall; /// int siprintf(char *str, const char *format, ...); -def TLI_siprintf : TargetLibCall_R; +def TLI_siprintf : TargetLibCall; /// int snprintf(char *s, size_t n, const char *format, ...); -def TLI_snprintf : TargetLibCall_R; +def TLI_snprintf : TargetLibCall; /// int sprintf(char *str, const char *format, ...); -def TLI_sprintf : TargetLibCall_R; +def TLI_sprintf : TargetLibCall; /// double sqrt(double x); -def TLI_sqrt : TargetLibCall_R; +def TLI_sqrt : TargetLibCall; /// float sqrtf(float x); -def TLI_sqrtf : TargetLibCall_R; +def TLI_sqrtf : TargetLibCall; /// long double sqrtl(long double x); -def TLI_sqrtl : TargetLibCall_R; +def TLI_sqrtl : TargetLibCall; /// int sscanf(const char *s, const char *format, ... ); -def TLI_sscanf : TargetLibCall_R; +def TLI_sscanf : TargetLibCall; /// int stat(const char *path, struct stat *buf); -def TLI_stat : TargetLibCall_R; +def TLI_stat : TargetLibCall; /// int stat64(const char *path, struct stat64 *buf); -def TLI_stat64 : TargetLibCall_R; +def TLI_stat64 : TargetLibCall; /// int statvfs(const char *path, struct statvfs *buf); -def TLI_statvfs : TargetLibCall_R; +def TLI_statvfs : TargetLibCall; /// int statvfs64(const char *path, struct statvfs64 *buf) -def TLI_statvfs64 : TargetLibCall_R; +def TLI_statvfs64 : TargetLibCall; /// char *stpcpy(char *s1, const char *s2); -def TLI_stpcpy : TargetLibCall_R; +def TLI_stpcpy : TargetLibCall; /// char *stpncpy(char *s1, const char *s2, size_t n); -def TLI_stpncpy : TargetLibCall_R; +def TLI_stpncpy : TargetLibCall; /// int strcasecmp(const char *s1, const char *s2); -def TLI_strcasecmp : TargetLibCall_R; +def TLI_strcasecmp : TargetLibCall; /// char *strcat(char *s1, const char *s2); -def TLI_strcat : TargetLibCall_R; +def TLI_strcat : TargetLibCall; /// char *strchr(const char *s, int c); -def TLI_strchr : TargetLibCall_R; +def TLI_strchr : TargetLibCall; /// int strcmp(const char *s1, const char *s2); -def TLI_strcmp : TargetLibCall_R; +def TLI_strcmp : TargetLibCall; /// int strcoll(const char *s1, const char *s2); -def TLI_strcoll : TargetLibCall_R; +def TLI_strcoll : TargetLibCall; /// char *strcpy(char *s1, const char *s2); -def TLI_strcpy : TargetLibCall_R; +def TLI_strcpy : TargetLibCall; /// size_t strcspn(const char *s1, const char *s2); -def TLI_strcspn : TargetLibCall_R; +def TLI_strcspn : TargetLibCall; /// char *strdup(const char *s1); -def TLI_strdup : TargetLibCall_R; +def TLI_strdup : TargetLibCall; /// size_t strlcat(char *dst, const char *src, size_t size); -def TLI_strlcat : TargetLibCall_R; +def TLI_strlcat : TargetLibCall; /// size_t strlcpy(char *dst, const char *src, size_t size); -def TLI_strlcpy : TargetLibCall_R; +def TLI_strlcpy : TargetLibCall; /// size_t strlen(const char *s); -def TLI_strlen : TargetLibCall_R; +def TLI_strlen : TargetLibCall; /// int strncasecmp(const char *s1, const char *s2, size_t n); -def TLI_strncasecmp : TargetLibCall_R; +def TLI_strncasecmp : TargetLibCall; /// char *strncat(char *s1, const char *s2, size_t n); -def TLI_strncat : TargetLibCall_R; +def TLI_strncat : TargetLibCall; /// int strncmp(const char *s1, const char *s2, size_t n); -def TLI_strncmp : TargetLibCall_R; +def TLI_strncmp : TargetLibCall; /// char *strncpy(char *s1, const char *s2, size_t n); -def TLI_strncpy : TargetLibCall_R; +def TLI_strncpy : TargetLibCall; /// char *strndup(const char *s1, size_t n); -def TLI_strndup : TargetLibCall_R; +def TLI_strndup : TargetLibCall; /// size_t strnlen(const char *s, size_t maxlen); -def TLI_strnlen : TargetLibCall_R; +def TLI_strnlen : TargetLibCall; /// char *strpbrk(const char *s1, const char *s2); -def TLI_strpbrk : TargetLibCall_R; +def TLI_strpbrk : TargetLibCall; /// char *strrchr(const char *s, int c); -def TLI_strrchr : TargetLibCall_R; +def TLI_strrchr : TargetLibCall; /// size_t strspn(const char *s1, const char *s2); -def TLI_strspn : TargetLibCall_R; +def TLI_strspn : TargetLibCall; /// char *strstr(const char *s1, const char *s2); -def TLI_strstr : TargetLibCall_R; +def TLI_strstr : TargetLibCall; /// double strtod(const char *nptr, char **endptr); -def TLI_strtod : TargetLibCall_R; +def TLI_strtod : TargetLibCall; /// float strtof(const char *nptr, char **endptr); -def TLI_strtof : TargetLibCall_R; +def TLI_strtof : TargetLibCall; /// char *strtok(char *s1, const char *s2); -def TLI_strtok : TargetLibCall_R; +def TLI_strtok : TargetLibCall; /// char *strtok_r(char *s, const char *sep, char **lasts); -def TLI_strtok_r : TargetLibCall_R; +def TLI_strtok_r : TargetLibCall; /// long int strtol(const char *nptr, char **endptr, int base); -def TLI_strtol : TargetLibCall_R; +def TLI_strtol : TargetLibCall; /// long double strtold(const char *nptr, char **endptr); -def TLI_strtold : TargetLibCall_R; +def TLI_strtold : TargetLibCall; /// long long int strtoll(const char *nptr, char **endptr, int base); -def TLI_strtoll : TargetLibCall_R; +def TLI_strtoll : TargetLibCall; /// unsigned long int strtoul(const char *nptr, char **endptr, int base); -def TLI_strtoul : TargetLibCall_R; +def TLI_strtoul : TargetLibCall; /// unsigned long long int strtoull(const char *nptr, char **endptr, int base); -def TLI_strtoull : TargetLibCall_R; +def TLI_strtoull : TargetLibCall; /// size_t strxfrm(char *s1, const char *s2, size_t n); -def TLI_strxfrm : TargetLibCall_R; +def TLI_strxfrm : TargetLibCall; /// int system(const char *command); -def TLI_system : TargetLibCall_R; +def TLI_system : TargetLibCall; /// double tan(double x); -def TLI_tan : TargetLibCall_R; +def TLI_tan : TargetLibCall; /// float tanf(float x); -def TLI_tanf : TargetLibCall_R; +def TLI_tanf : TargetLibCall; /// double tanh(double x); -def TLI_tanh : TargetLibCall_R; +def TLI_tanh : TargetLibCall; /// float tanhf(float x); -def TLI_tanhf : TargetLibCall_R; +def TLI_tanhf : TargetLibCall; /// long double tanhl(long double x); -def TLI_tanhl : TargetLibCall_R; +def TLI_tanhl : TargetLibCall; /// long double tanl(long double x); -def TLI_tanl : TargetLibCall_R; +def TLI_tanl : TargetLibCall; /// clock_t times(struct tms *buffer); -def TLI_times : TargetLibCall_R; +def TLI_times : TargetLibCall; /// FILE *tmpfile(void); -def TLI_tmpfile : TargetLibCall_R; +def TLI_tmpfile : TargetLibCall; /// FILE *tmpfile64(void) -def TLI_tmpfile64 : TargetLibCall_R; +def TLI_tmpfile64 : TargetLibCall; /// int toascii(int c); -def TLI_toascii : TargetLibCall_R; +def TLI_toascii : TargetLibCall; /// double trunc(double x); -def TLI_trunc : TargetLibCall_R; +def TLI_trunc : TargetLibCall; /// float truncf(float x); -def TLI_truncf : TargetLibCall_R; +def TLI_truncf : TargetLibCall; /// long double truncl(long double x); -def TLI_truncl : TargetLibCall_R; +def TLI_truncl : TargetLibCall; /// int uname(struct utsname *name); -def TLI_uname : TargetLibCall_R; +def TLI_uname : TargetLibCall; /// int ungetc(int c, FILE *stream); -def TLI_ungetc : TargetLibCall_R; +def TLI_ungetc : TargetLibCall; /// int unlink(const char *path); -def TLI_unlink : TargetLibCall_R; +def TLI_unlink : TargetLibCall; /// int unsetenv(const char *name); -def TLI_unsetenv : TargetLibCall_R; +def TLI_unsetenv : TargetLibCall; /// int utime(const char *path, const struct utimbuf *times); -def TLI_utime : TargetLibCall_R; +def TLI_utime : TargetLibCall; /// int utimes(const char *path, const struct timeval times[2]); -def TLI_utimes : TargetLibCall_R; +def TLI_utimes : TargetLibCall; /// void *valloc(size_t size); -def TLI_valloc : TargetLibCall_R; +def TLI_valloc : TargetLibCall; /// void *vec_calloc(size_t count, size_t size); -def TLI_vec_calloc : TargetLibCall_R; +def TLI_vec_calloc : TargetLibCall; /// void vec_free(void *ptr); -def TLI_vec_free : TargetLibCall_R; +def TLI_vec_free : TargetLibCall; /// void *vec_malloc(size_t size); -def TLI_vec_malloc : TargetLibCall_R; +def TLI_vec_malloc : TargetLibCall; /// void *vec_realloc(void *ptr, size_t size); -def TLI_vec_realloc : TargetLibCall_R; +def TLI_vec_realloc : TargetLibCall; /// int vfprintf(FILE *stream, const char *format, va_list ap); -def TLI_vfprintf : TargetLibCall_R; +def TLI_vfprintf : TargetLibCall; /// int vfscanf(FILE *stream, const char *format, va_list arg); -def TLI_vfscanf : TargetLibCall_R; +def TLI_vfscanf : TargetLibCall; /// int vprintf(const char *restrict format, va_list ap); -def TLI_vprintf : TargetLibCall_R; +def TLI_vprintf : TargetLibCall; /// int vscanf(const char *format, va_list arg); -def TLI_vscanf : TargetLibCall_R; +def TLI_vscanf : TargetLibCall; /// int vsnprintf(char *s, size_t n, const char *format, va_list ap); -def TLI_vsnprintf : TargetLibCall_R; +def TLI_vsnprintf : TargetLibCall; /// int vsprintf(char *s, const char *format, va_list ap); -def TLI_vsprintf : TargetLibCall_R; +def TLI_vsprintf : TargetLibCall; /// int vsscanf(const char *s, const char *format, va_list arg); -def TLI_vsscanf : TargetLibCall_R; +def TLI_vsscanf : TargetLibCall; /// size_t wcslen (const wchar_t* wcs); -def TLI_wcslen : TargetLibCall_R; +def TLI_wcslen : TargetLibCall; /// ssize_t write(int fildes, const void *buf, size_t nbyte); -def TLI_write : TargetLibCall_R; +def TLI_write : TargetLibCall; diff --git a/llvm/include/llvm/IR/RuntimeLibcalls.td b/llvm/include/llvm/IR/RuntimeLibcalls.td index 19762e3f6914f..96ddd4992bb64 100644 --- a/llvm/include/llvm/IR/RuntimeLibcalls.td +++ b/llvm/include/llvm/IR/RuntimeLibcalls.td @@ -156,7 +156,7 @@ foreach FPTy = [F32, F64, F80, F128, PPCF128] in { def EXP2_#FPTy.Suffix : RuntimeLibcall; def EXP2_FINITE_#FPTy.Suffix : RuntimeLibcall; def EXP10_#FPTy.Suffix : RuntimeLibcall; - def EXP10_FINITE_#FPTy.Suffix : RuntimeLibcall; + def EXP10_FINITE_#FPTy.Suffix : RuntimeLibcall; def SIN_#FPTy.Suffix : RuntimeLibcall; def COS_#FPTy.Suffix : RuntimeLibcall; def TAN_#FPTy.Suffix : RuntimeLibcall; @@ -172,10 +172,33 @@ foreach FPTy = [F32, F64, F80, F128, PPCF128] in { def FDIM_#FPTy.Suffix : RuntimeLibcall; def CABS_#FPTy.Suffix : RuntimeLibcall; + + def ACOS_FINITE_#FPTy.Suffix : RuntimeLibcall; + def ACOSH_FINITE_#FPTy.Suffix : RuntimeLibcall; + def ASIN_FINITE_#FPTy.Suffix : RuntimeLibcall; + def ATAN2_FINITE_#FPTy.Suffix : RuntimeLibcall; + def ATANH_FINITE_#FPTy.Suffix : RuntimeLibcall; + def COSH_FINITE_#FPTy.Suffix : RuntimeLibcall; + def SINH_FINITE_#FPTy.Suffix : RuntimeLibcall; + def SQRT_FINITE_#FPTy.Suffix : RuntimeLibcall; + def COSPI_#FPTy.Suffix : RuntimeLibcall; + def SINPI_#FPTy.Suffix : RuntimeLibcall; + def ACOSH_#FPTy.Suffix : RuntimeLibcall; + def ASINH_#FPTy.Suffix : RuntimeLibcall; + def ATANH_#FPTy.Suffix : RuntimeLibcall; + def ERF_#FPTy.Suffix : RuntimeLibcall; + def EXPM1_#FPTy.Suffix : RuntimeLibcall; + def FABS_#FPTy.Suffix : RuntimeLibcall; + def HYPOT_#FPTy.Suffix : RuntimeLibcall; + def LOG1P_#FPTy.Suffix : RuntimeLibcall; + def ILOGB_#FPTy.Suffix : RuntimeLibcall; + def LOGB_#FPTy.Suffix : RuntimeLibcall; + def NEXTAFTER_#FPTy.Suffix : RuntimeLibcall; } foreach FPTy = [ "F32", "F64" ] in { def SINCOS_STRET_#FPTy : RuntimeLibcall; + def SINCOSPI_STRET_#FPTy : RuntimeLibcall; } foreach FPTy = [F32, F64, F80, F128, PPCF128] in { @@ -642,6 +665,7 @@ def EXECLP : RuntimeLibcall; def EXECV : RuntimeLibcall; def EXECVE : RuntimeLibcall; def EXECVP : RuntimeLibcall; +def EXECV_P : RuntimeLibcall; def EXECVPE : RuntimeLibcall; def EXIT : RuntimeLibcall; def FCLOSE : RuntimeLibcall; @@ -905,6 +929,8 @@ def ZNWMST11ALIGN_VAL_TRKST9NOTHROW_T12__HOT_COLD_T : RuntimeLibcall; def KMPC_FREE_SHARED : RuntimeLibcall; +def NVVM_REFLECT : RuntimeLibcall; + //-------------------------------------------------------------------- // Global variable references //-------------------------------------------------------------------- @@ -1618,7 +1644,7 @@ def execl : RuntimeLibcallImpl; def execle : RuntimeLibcallImpl; def execlp : RuntimeLibcallImpl; def execv : RuntimeLibcallImpl; -def execvP : RuntimeLibcallImpl; +def execvP : RuntimeLibcallImpl; def execve : RuntimeLibcallImpl; def execvp : RuntimeLibcallImpl; def execvpe : RuntimeLibcallImpl; @@ -1798,6 +1824,76 @@ def vsscanf : RuntimeLibcallImpl; def wcslen : RuntimeLibcallImpl; def write : RuntimeLibcallImpl; +def __acos_finite : RuntimeLibcallImpl; +def __acosf_finite : RuntimeLibcallImpl; +def __acosl_finite : RuntimeLibcallImpl; +def __acosh_finite : RuntimeLibcallImpl; +def __acoshf_finite : RuntimeLibcallImpl; +def __acoshl_finite : RuntimeLibcallImpl; +def __asin_finite : RuntimeLibcallImpl; +def __asinf_finite : RuntimeLibcallImpl; +def __asinl_finite : RuntimeLibcallImpl; +def __atan2_finite : RuntimeLibcallImpl; +def __atan2f_finite : RuntimeLibcallImpl; +def __atan2l_finite : RuntimeLibcallImpl; +def __atanh_finite : RuntimeLibcallImpl; +def __atanhf_finite : RuntimeLibcallImpl; +def __atanhl_finite : RuntimeLibcallImpl; +def __cosh_finite : RuntimeLibcallImpl; +def __coshf_finite : RuntimeLibcallImpl; +def __coshl_finite : RuntimeLibcallImpl; +def __sinh_finite : RuntimeLibcallImpl; +def __sinhf_finite : RuntimeLibcallImpl; +def __sinhl_finite : RuntimeLibcallImpl; +def __exp10_finite : RuntimeLibcallImpl; +def __exp10f_finite : RuntimeLibcallImpl; +def __exp10l_finite : RuntimeLibcallImpl; +def __sqrt_finite : RuntimeLibcallImpl; +def __sqrtf_finite : RuntimeLibcallImpl; +def __sqrtl_finite : RuntimeLibcallImpl; +def __cospi : RuntimeLibcallImpl; +def __cospif : RuntimeLibcallImpl; +def __sinpi : RuntimeLibcallImpl; +def __sinpif : RuntimeLibcallImpl; +def acosh : RuntimeLibcallImpl; +def acoshf : RuntimeLibcallImpl; +def acoshl : RuntimeLibcallImpl; +def asinh : RuntimeLibcallImpl; +def asinhf : RuntimeLibcallImpl; +def asinhl : RuntimeLibcallImpl; +def atanh : RuntimeLibcallImpl; +def atanhf : RuntimeLibcallImpl; +def atanhl : RuntimeLibcallImpl; +def erf : RuntimeLibcallImpl; +def erff : RuntimeLibcallImpl; +def erfl : RuntimeLibcallImpl; +def expm1 : RuntimeLibcallImpl; +def expm1f : RuntimeLibcallImpl; +def expm1l : RuntimeLibcallImpl; +def fabs : RuntimeLibcallImpl; +def fabsf : RuntimeLibcallImpl; +def fabsl : RuntimeLibcallImpl; +def hypot : RuntimeLibcallImpl; +def hypotf : RuntimeLibcallImpl; +def hypotl : RuntimeLibcallImpl; +def log1p : RuntimeLibcallImpl; +def log1pf : RuntimeLibcallImpl; +def log1pl : RuntimeLibcallImpl; +def ilogb : RuntimeLibcallImpl; +def ilogbf : RuntimeLibcallImpl; +def ilogbl : RuntimeLibcallImpl; +def logb : RuntimeLibcallImpl; +def logbf : RuntimeLibcallImpl; +def logbl : RuntimeLibcallImpl; +def nextafter : RuntimeLibcallImpl; +def nextafterf : RuntimeLibcallImpl; +def nextafterl : RuntimeLibcallImpl; + +def __nvvm_reflect : RuntimeLibcallImpl; + +def __sincospif_stret : RuntimeLibcallImpl; +def __sincospi_stret : RuntimeLibcallImpl; + //-------------------------------------------------------------------- // compiler-rt/libgcc but 64-bit only, not available by default //-------------------------------------------------------------------- diff --git a/llvm/include/llvm/IR/RuntimeLibcallsImpl.td b/llvm/include/llvm/IR/RuntimeLibcallsImpl.td index 45966053d8a50..06c1fccc6ac37 100644 --- a/llvm/include/llvm/IR/RuntimeLibcallsImpl.td +++ b/llvm/include/llvm/IR/RuntimeLibcallsImpl.td @@ -123,19 +123,8 @@ class SystemRuntimeLibrary { LibcallImpls MemberList = LibcallImpls; } -// Definitions of library function for TargetLibraryInfo. -class TargetLibCall; - -class TargetLibCall_D ArgTypes = []> - : TargetLibCall { - string LibCallFuncName = FuncName; - FuncArgType ReturnType = RetType; - list ArgumentTypes = ArgTypes; -} - -class TargetLibCall_R - : TargetLibCall { +/// Definition of library function for TargetLibraryInfo. +class TargetLibCall { RuntimeLibcallImpl RTLibcallImpl = LibcallImpl; } diff --git a/llvm/test/TableGen/TargetLibraryInfo.td b/llvm/test/TableGen/TargetLibraryInfo.td index 5b8f251a40281..703b178c61e38 100644 --- a/llvm/test/TableGen/TargetLibraryInfo.td +++ b/llvm/test/TableGen/TargetLibraryInfo.td @@ -2,14 +2,23 @@ include "llvm/IR/RuntimeLibcallsImpl.td" -def TLI_cosf : TargetLibCall_D< "cosf", Flt, [Flt]>; -def TLI_sinf : TargetLibCall_D< "sinf", Flt, [Flt]>; +def COS_F32 : RuntimeLibcall; +def SIN_F32 : RuntimeLibcall; +def FMAX_F32 : RuntimeLibcall; +def PRINTF : RuntimeLibcall; +def CABS_F64 : RuntimeLibcall; -def TLI_fmaxf : TargetLibCall_D< "fmaxf", Floating, [Same, Same]>; +def cosf : RuntimeLibcallImpl; +def sinf : RuntimeLibcallImpl; +def fmaxf : RuntimeLibcallImpl; +def printf : RuntimeLibcallImpl; +def cabs : RuntimeLibcallImpl; -def TLI_printf : TargetLibCall_D< "printf", Int, [Ptr, Ellip]>; - -def TLI_cabs : TargetLibCall_D< "cabs", ? /* Checked manually. */>; +def TLI_cosf : TargetLibCall; +def TLI_sinf : TargetLibCall; +def TLI_fmaxf : TargetLibCall; +def TLI_printf : TargetLibCall; +def TLI_cabs : TargetLibCall; // CHECK: #ifdef GET_TARGET_LIBRARY_INFO_ENUM // CHECK-NEXT: #undef GET_TARGET_LIBRARY_INFO_ENUM diff --git a/llvm/utils/TableGen/Basic/TargetLibraryInfoEmitter.cpp b/llvm/utils/TableGen/Basic/TargetLibraryInfoEmitter.cpp index 95e6b07cbfaaa..da1c853c3a774 100644 --- a/llvm/utils/TableGen/Basic/TargetLibraryInfoEmitter.cpp +++ b/llvm/utils/TableGen/Basic/TargetLibraryInfoEmitter.cpp @@ -80,8 +80,7 @@ void TargetLibraryInfoEmitter::emitTargetLibraryInfoStringTable( raw_ostream &OS) const { auto getFuncName = [](const Record *R) -> StringRef { - if (R->isSubClassOf("TargetLibCall_R")) - R = R->getValueAsDef("RTLibcallImpl"); + R = R->getValueAsDef("RTLibcallImpl"); return R->getValueAsString("LibCallFuncName"); }; @@ -140,8 +139,7 @@ void TargetLibraryInfoEmitter::emitTargetLibraryInfoSignatureTable( using Signature = std::vector; SequenceToOffsetTable SignatureTable("NoFuncArgType"); auto GetSignature = [](const Record *R) -> Signature { - if (R->isSubClassOf("TargetLibCall_R")) - R = R->getValueAsDef("RTLibcallImpl")->getValueAsDef("Provides"); + R = R->getValueAsDef("RTLibcallImpl")->getValueAsDef("Provides"); const auto *Tys = R->getValueAsListInit("ArgumentTypes"); Signature Sig; Sig.reserve(Tys->size() + 1);