diff options
author | Yi Jiang <yjiang@apple.com> | 2013-12-16 22:42:40 +0000 |
---|---|---|
committer | Yi Jiang <yjiang@apple.com> | 2013-12-16 22:42:40 +0000 |
commit | 6ab044ee352e1f9c0996f517f9b208a15554839f (patch) | |
tree | 70b88181b8dd60e4f27cfe6be95001ed731772d8 /llvm/lib/Target/TargetLibraryInfo.cpp | |
parent | 7f53473de79d7b432641c3236d5a9024c3e18ff0 (diff) | |
download | bcm5719-llvm-6ab044ee352e1f9c0996f517f9b208a15554839f.tar.gz bcm5719-llvm-6ab044ee352e1f9c0996f517f9b208a15554839f.zip |
Enable double to float shrinking optimizations for binary functions like 'fmin/fmax'. Fix radar:15283121
llvm-svn: 197434
Diffstat (limited to 'llvm/lib/Target/TargetLibraryInfo.cpp')
-rw-r--r-- | llvm/lib/Target/TargetLibraryInfo.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/lib/Target/TargetLibraryInfo.cpp b/llvm/lib/Target/TargetLibraryInfo.cpp index 2a9fb356528..4bbf2005a9c 100644 --- a/llvm/lib/Target/TargetLibraryInfo.cpp +++ b/llvm/lib/Target/TargetLibraryInfo.cpp @@ -140,6 +140,12 @@ const char* TargetLibraryInfo::StandardNames[LibFunc::NumLibFuncs] = "floor", "floorf", "floorl", + "fmax", + "fmaxf", + "fmaxl", + "fmin", + "fminf", + "fminl", "fmod", "fmodf", "fmodl", @@ -453,6 +459,8 @@ static void initialize(TargetLibraryInfo &TLI, const Triple &T, TLI.setUnavailable(LibFunc::fabsf); // Win32 and Win64 both lack fabsf TLI.setUnavailable(LibFunc::fabsl); TLI.setUnavailable(LibFunc::floorl); + TLI.setUnavailable(LibFunc::fmaxl); + TLI.setUnavailable(LibFunc::fminl); TLI.setUnavailable(LibFunc::fmodl); TLI.setUnavailable(LibFunc::frexpl); TLI.setUnavailable(LibFunc::logl); @@ -523,6 +531,8 @@ static void initialize(TargetLibraryInfo &TLI, const Triple &T, TLI.setUnavailable(LibFunc::coshf); TLI.setUnavailable(LibFunc::expf); TLI.setUnavailable(LibFunc::floorf); + TLI.setUnavailable(LibFunc::fminf); + TLI.setUnavailable(LibFunc::fmaxf); TLI.setUnavailable(LibFunc::fmodf); TLI.setUnavailable(LibFunc::logf); TLI.setUnavailable(LibFunc::powf); |