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 @@ -170,7 +170,7 @@ void RuntimeLibcallsInfo::initLibcalls(const Triple &TT) {
170170 break ;
171171 }
172172
173- if (darwinHasSinCos (TT)) {
173+ if (darwinHasSinCosStret (TT)) {
174174 setLibcallName (RTLIB::SINCOS_STRET_F32, " __sincosf_stret" );
175175 setLibcallName (RTLIB::SINCOS_STRET_F64, " __sincos_stret" );
176176 if (TT.isWatchABI ()) {
@@ -214,8 +214,7 @@ void RuntimeLibcallsInfo::initLibcalls(const Triple &TT) {
214214 setLibcallName (RTLIB::EXP10_F64, " __exp10" );
215215 }
216216
217- if (TT.isGNUEnvironment () || TT.isOSFuchsia () ||
218- (TT.isAndroid () && !TT.isAndroidVersionLT (9 ))) {
217+ if (hasSinCos (TT)) {
219218 setLibcallName (RTLIB::SINCOS_F32, " sincosf" );
220219 setLibcallName (RTLIB::SINCOS_F64, " sincos" );
221220 setLibcallName (RTLIB::SINCOS_F80, " sincosl" );
You can’t perform that action at this time.
0 commit comments