29
29
#error "HANDLE_LIBCALL must be defined"
30
30
#endif
31
31
32
+ #ifndef HANDLE_NAMELESS_LIBCALL
33
+ #define HANDLE_NAMELESS_LIBCALL (code ) HANDLE_LIBCALL(code, nullptr )
34
+ #endif
35
+
32
36
// Integer
33
37
HANDLE_LIBCALL (SHL_I16, " __ashlhi3" )
34
38
HANDLE_LIBCALL(SHL_I32, " __ashlsi3" )
@@ -70,16 +74,16 @@ HANDLE_LIBCALL(UREM_I16, "__umodhi3")
70
74
HANDLE_LIBCALL(UREM_I32, " __umodsi3" )
71
75
HANDLE_LIBCALL(UREM_I64, " __umoddi3" )
72
76
HANDLE_LIBCALL(UREM_I128, " __umodti3" )
73
- HANDLE_LIBCALL (SDIVREM_I8, nullptr )
74
- HANDLE_LIBCALL (SDIVREM_I16, nullptr )
75
- HANDLE_LIBCALL (SDIVREM_I32, nullptr )
76
- HANDLE_LIBCALL (SDIVREM_I64, nullptr )
77
- HANDLE_LIBCALL (SDIVREM_I128, nullptr )
78
- HANDLE_LIBCALL (UDIVREM_I8, nullptr )
79
- HANDLE_LIBCALL (UDIVREM_I16, nullptr )
80
- HANDLE_LIBCALL (UDIVREM_I32, nullptr )
81
- HANDLE_LIBCALL (UDIVREM_I64, nullptr )
82
- HANDLE_LIBCALL (UDIVREM_I128, nullptr )
77
+ HANDLE_NAMELESS_LIBCALL (SDIVREM_I8)
78
+ HANDLE_NAMELESS_LIBCALL (SDIVREM_I16)
79
+ HANDLE_NAMELESS_LIBCALL (SDIVREM_I32)
80
+ HANDLE_NAMELESS_LIBCALL (SDIVREM_I64)
81
+ HANDLE_NAMELESS_LIBCALL (SDIVREM_I128)
82
+ HANDLE_NAMELESS_LIBCALL (UDIVREM_I8)
83
+ HANDLE_NAMELESS_LIBCALL (UDIVREM_I16)
84
+ HANDLE_NAMELESS_LIBCALL (UDIVREM_I32)
85
+ HANDLE_NAMELESS_LIBCALL (UDIVREM_I64)
86
+ HANDLE_NAMELESS_LIBCALL (UDIVREM_I128)
83
87
HANDLE_LIBCALL(NEG_I32, " __negsi2" )
84
88
HANDLE_LIBCALL(NEG_I64, " __negdi2" )
85
89
HANDLE_LIBCALL(CTLZ_I32, " __clzsi2" )
@@ -240,13 +244,13 @@ HANDLE_LIBCALL(ATAN2_F64, "atan2")
240
244
HANDLE_LIBCALL(ATAN2_F80, " atan2l" )
241
245
HANDLE_LIBCALL(ATAN2_F128," atan2l" )
242
246
HANDLE_LIBCALL(ATAN2_PPCF128, " atan2l" )
243
- HANDLE_LIBCALL (SINCOS_F32, nullptr )
244
- HANDLE_LIBCALL (SINCOS_F64, nullptr )
245
- HANDLE_LIBCALL (SINCOS_F80, nullptr )
246
- HANDLE_LIBCALL (SINCOS_F128, nullptr )
247
- HANDLE_LIBCALL (SINCOS_PPCF128, nullptr )
248
- HANDLE_LIBCALL (SINCOS_STRET_F32, nullptr )
249
- HANDLE_LIBCALL (SINCOS_STRET_F64, nullptr )
247
+ HANDLE_NAMELESS_LIBCALL (SINCOS_F32)
248
+ HANDLE_NAMELESS_LIBCALL (SINCOS_F64)
249
+ HANDLE_NAMELESS_LIBCALL (SINCOS_F80)
250
+ HANDLE_NAMELESS_LIBCALL (SINCOS_F128)
251
+ HANDLE_NAMELESS_LIBCALL (SINCOS_PPCF128)
252
+ HANDLE_NAMELESS_LIBCALL (SINCOS_STRET_F32)
253
+ HANDLE_NAMELESS_LIBCALL (SINCOS_STRET_F64)
250
254
HANDLE_LIBCALL(POW_F32, " powf" )
251
255
HANDLE_LIBCALL(POW_F64, " pow" )
252
256
HANDLE_LIBCALL(POW_F80, " powl" )
@@ -518,7 +522,7 @@ HANDLE_LIBCALL(MEMMOVE, "memmove")
518
522
HANDLE_LIBCALL(MEMSET, " memset" )
519
523
// DSEPass can emit calloc if it finds a pair of malloc/memset
520
524
HANDLE_LIBCALL(CALLOC, " calloc" )
521
- HANDLE_LIBCALL (BZERO, nullptr )
525
+ HANDLE_NAMELESS_LIBCALL (BZERO)
522
526
523
527
// Element-wise unordered-atomic memory of different sizes
524
528
HANDLE_LIBCALL(MEMCPY_ELEMENT_UNORDERED_ATOMIC_1, " __llvm_memcpy_element_unordered_atomic_1" )
@@ -669,10 +673,10 @@ HANDLE_LIBCALL(ATOMIC_FETCH_NAND_16, "__atomic_fetch_nand_16")
669
673
670
674
// Out-of-line atomics libcalls
671
675
#define HLCALLS (A, N ) \
672
- HANDLE_LIBCALL (A##N##_RELAX, nullptr ) \
673
- HANDLE_LIBCALL (A##N##_ACQ, nullptr ) \
674
- HANDLE_LIBCALL (A##N##_REL, nullptr ) \
675
- HANDLE_LIBCALL (A##N##_ACQ_REL, nullptr )
676
+ HANDLE_NAMELESS_LIBCALL (A##N##_RELAX) \
677
+ HANDLE_NAMELESS_LIBCALL (A##N##_ACQ) \
678
+ HANDLE_NAMELESS_LIBCALL (A##N##_REL) \
679
+ HANDLE_NAMELESS_LIBCALL (A##N##_ACQ_REL)
676
680
#define HLCALL5 (A ) \
677
681
HLCALLS (A, 1 ) HLCALLS(A, 2 ) HLCALLS(A, 4 ) HLCALLS(A, 8 ) HLCALLS(A, 16 )
678
682
HLCALL5(OUTLINE_ATOMIC_CAS)
@@ -691,11 +695,12 @@ HANDLE_LIBCALL(STACKPROTECTOR_CHECK_FAIL, "__stack_chk_fail")
691
695
HANDLE_LIBCALL(DEOPTIMIZE, " __llvm_deoptimize" )
692
696
693
697
// Return address
694
- HANDLE_LIBCALL (RETURN_ADDRESS, nullptr )
698
+ HANDLE_NAMELESS_LIBCALL (RETURN_ADDRESS)
695
699
696
700
// Clear cache
697
701
HANDLE_LIBCALL(CLEAR_CACHE, " __clear_cache" )
698
702
HANDLE_LIBCALL(RISCV_FLUSH_ICACHE, " __riscv_flush_icache" )
699
703
700
- HANDLE_LIBCALL (UNKNOWN_LIBCALL, nullptr )
704
+ HANDLE_NAMELESS_LIBCALL (UNKNOWN_LIBCALL)
701
705
706
+ #undef HANDLE_NAMELESS_LIBCALL
0 commit comments