File tree Expand file tree Collapse file tree 2 files changed +9
-4
lines changed Expand file tree Collapse file tree 2 files changed +9
-4
lines changed Original file line number Diff line number Diff line change @@ -116,7 +116,7 @@ struct RuntimeLibcallsInfo {
116116 // opcode.
117117 CmpInst::Predicate SoftFloatCompareLibcallPredicates[RTLIB::UNKNOWN_LIBCALL];
118118
119- static bool darwinHasSinCos (const Triple &TT) {
119+ static bool darwinHasSinCosStret (const Triple &TT) {
120120 assert (TT.isOSDarwin () && " should be called with darwin triple" );
121121 // Don't bother with 32 bit x86.
122122 if (TT.getArch () == Triple::x86)
@@ -131,6 +131,12 @@ struct RuntimeLibcallsInfo {
131131 return true ;
132132 }
133133
134+ // / Return true if the target has sincosf/sincos/sincosl functions
135+ static bool hasSinCos (const Triple &TT) {
136+ return TT.isGNUEnvironment () || TT.isOSFuchsia () ||
137+ (TT.isAndroid () && !TT.isAndroidVersionLT (9 ));
138+ }
139+
134140 void initSoftFloatCmpLibcallPredicates ();
135141
136142 // / Set default libcall names. If a target wants to opt-out of a libcall it
Original file line number Diff line number Diff line change @@ -388,7 +388,7 @@ void RuntimeLibcallsInfo::initLibcalls(const Triple &TT) {
388388 break ;
389389 }
390390
391- if (darwinHasSinCos (TT)) {
391+ if (darwinHasSinCosStret (TT)) {
392392 setLibcallName (RTLIB::SINCOS_STRET_F32, " __sincosf_stret" );
393393 setLibcallName (RTLIB::SINCOS_STRET_F64, " __sincos_stret" );
394394 if (TT.isWatchABI ()) {
@@ -432,8 +432,7 @@ void RuntimeLibcallsInfo::initLibcalls(const Triple &TT) {
432432 setLibcallName (RTLIB::EXP10_F64, " __exp10" );
433433 }
434434
435- if (TT.isGNUEnvironment () || TT.isOSFuchsia () ||
436- (TT.isAndroid () && !TT.isAndroidVersionLT (9 ))) {
435+ if (hasSinCos (TT)) {
437436 setLibcallName (RTLIB::SINCOS_F32, " sincosf" );
438437 setLibcallName (RTLIB::SINCOS_F64, " sincos" );
439438 setLibcallName (RTLIB::SINCOS_F80, " sincosl" );
You can’t perform that action at this time.
0 commit comments