aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/TargetLoweringBase.cpp
diff options
context:
space:
mode:
authorFlorian Hahn <flo@fhahn.com>2024-07-11 22:57:34 +0100
committerGitHub <noreply@github.com>2024-07-11 22:57:34 +0100
commitd0d05aec3b6792136a9f75eb85dd2ea66005ae12 (patch)
tree168f026f6476c6b640c53dd4bc3b99295dc88b8f /llvm/lib/CodeGen/TargetLoweringBase.cpp
parent9c1861bd5de0174fded95ea76c46ad7c7175af8b (diff)
downloadllvm-d0d05aec3b6792136a9f75eb85dd2ea66005ae12.zip
llvm-d0d05aec3b6792136a9f75eb85dd2ea66005ae12.tar.gz
llvm-d0d05aec3b6792136a9f75eb85dd2ea66005ae12.tar.bz2
[Darwin] Fix availability of exp10 for watchOS, tvOS, xROS. (#98542)
Update availability information added in 1eb7f055d9a. exp10 is available on iOS >= 7.0 and macOS >= 10.9. On all other platforms, it is available on any version. Also drop the x86 check, as the availability only depends on the OS version, not the target platform. PR: https://github.com/llvm/llvm-project/pull/98542
Diffstat (limited to 'llvm/lib/CodeGen/TargetLoweringBase.cpp')
-rw-r--r--llvm/lib/CodeGen/TargetLoweringBase.cpp17
1 files changed, 8 insertions, 9 deletions
diff --git a/llvm/lib/CodeGen/TargetLoweringBase.cpp b/llvm/lib/CodeGen/TargetLoweringBase.cpp
index 8ea4dbd..f36743a 100644
--- a/llvm/lib/CodeGen/TargetLoweringBase.cpp
+++ b/llvm/lib/CodeGen/TargetLoweringBase.cpp
@@ -246,18 +246,17 @@ void TargetLoweringBase::InitLibcalls(const Triple &TT) {
}
break;
case Triple::IOS:
- case Triple::TvOS:
- case Triple::WatchOS:
- case Triple::XROS:
- if (!TT.isWatchOS() &&
- (TT.isOSVersionLT(7, 0) || (TT.isOSVersionLT(9, 0) && TT.isX86()))) {
+ if (TT.isOSVersionLT(7, 0)) {
setLibcallName(RTLIB::EXP10_F32, nullptr);
setLibcallName(RTLIB::EXP10_F64, nullptr);
- } else {
- setLibcallName(RTLIB::EXP10_F32, "__exp10f");
- setLibcallName(RTLIB::EXP10_F64, "__exp10");
+ break;
}
-
+ [[fallthrough]];
+ case Triple::TvOS:
+ case Triple::WatchOS:
+ case Triple::XROS:
+ setLibcallName(RTLIB::EXP10_F32, "__exp10f");
+ setLibcallName(RTLIB::EXP10_F64, "__exp10");
break;
default:
break;