aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/TargetLibraryInfo.cpp
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2016-05-08 08:15:50 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2016-05-08 08:15:50 +0000
commiteac58d8f688722371d8af33f3cd46de5fdf4f26d (patch)
treed7f8ed8ccbe5c7b9da56f2790dd414b794171e60 /llvm/lib/Analysis/TargetLibraryInfo.cpp
parent81296fb3a42f27cc165cffbe39a3460cbb1ee684 (diff)
downloadllvm-eac58d8f688722371d8af33f3cd46de5fdf4f26d.zip
llvm-eac58d8f688722371d8af33f3cd46de5fdf4f26d.tar.gz
llvm-eac58d8f688722371d8af33f3cd46de5fdf4f26d.tar.bz2
[X86] Promote several single precision FP libcalls on Windows
A number of libcalls don't exist in any particular lib but are, instead, defined in math.h as inline functions (even in C mode!). Don't rely on their existence when lowering @llvm.{cos,sin,floor,..}.f32, promote them instead. N.B. We had logic to handle FREM but were missing out on a number of others. This change generalizes the FREM handling. llvm-svn: 268875
Diffstat (limited to 'llvm/lib/Analysis/TargetLibraryInfo.cpp')
-rw-r--r--llvm/lib/Analysis/TargetLibraryInfo.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Analysis/TargetLibraryInfo.cpp b/llvm/lib/Analysis/TargetLibraryInfo.cpp
index 36f83ad..71f15b15 100644
--- a/llvm/lib/Analysis/TargetLibraryInfo.cpp
+++ b/llvm/lib/Analysis/TargetLibraryInfo.cpp
@@ -205,6 +205,8 @@ static void initialize(TargetLibraryInfoImpl &TLI, const Triple &T,
TLI.setUnavailable(LibFunc::fmaxf);
TLI.setUnavailable(LibFunc::fmodf);
TLI.setUnavailable(LibFunc::logf);
+ TLI.setUnavailable(LibFunc::log10f);
+ TLI.setUnavailable(LibFunc::modff);
TLI.setUnavailable(LibFunc::powf);
TLI.setUnavailable(LibFunc::sinf);
TLI.setUnavailable(LibFunc::sinhf);