diff options
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/include/llvm/Target/TargetLibraryInfo.h | 36 | ||||
| -rw-r--r-- | llvm/lib/Target/TargetLibraryInfo.cpp | 36 | 
2 files changed, 72 insertions, 0 deletions
diff --git a/llvm/include/llvm/Target/TargetLibraryInfo.h b/llvm/include/llvm/Target/TargetLibraryInfo.h index ea2874f440f..a44105bbb24 100644 --- a/llvm/include/llvm/Target/TargetLibraryInfo.h +++ b/llvm/include/llvm/Target/TargetLibraryInfo.h @@ -33,12 +33,24 @@ namespace llvm {        acos,        /// float acosf(float x);        acosf, +      /// double acosh(double x); +      acosh, +      /// float acoshf(float x); +      acoshf, +      /// long double acoshl(long double x); +      acoshl,        /// long double acosl(long double x);        acosl,        /// double asin(double x);        asin,        /// float asinf(float x);        asinf, +      /// double asinh(double x); +      asinh, +      /// float asinhf(float x); +      asinhf, +      /// long double asinhl(long double x); +      asinhl,        /// long double asinl(long double x);        asinl,        /// double atan(double x); @@ -51,8 +63,20 @@ namespace llvm {        atan2l,        /// float atanf(float x);        atanf, +      /// double atanh(double x); +      atanh, +      /// float atanhf(float x); +      atanhf, +      /// long double atanhl(long double x); +      atanhl,        /// long double atanl(long double x);        atanl, +      /// double cbrt(double x); +      cbrt, +      /// float cbrtf(float x); +      cbrtf, +      /// long double cbrtl(long double x); +      cbrtl,        /// double ceil(double x);        ceil,        /// float ceilf(float x); @@ -79,6 +103,12 @@ namespace llvm {        cosl,        /// double exp(double x);        exp, +      /// double exp10(double x); +      exp10, +      /// float exp10f(float x); +      exp10f, +      /// long double exp10l(long double x); +      exp10l,        /// double exp2(double x);        exp2,        /// float exp2f(float x); @@ -144,6 +174,12 @@ namespace llvm {        log2f,        /// double long double log2l(long double x);        log2l, +      /// double logb(double x); +      logb, +      /// float logbf(float x); +      logbf, +      /// long double logbl(long double x); +      logbl,        /// float logf(float x);        logf,        /// long double logl(long double x); diff --git a/llvm/lib/Target/TargetLibraryInfo.cpp b/llvm/lib/Target/TargetLibraryInfo.cpp index 8e215a76372..924b1ed80de 100644 --- a/llvm/lib/Target/TargetLibraryInfo.cpp +++ b/llvm/lib/Target/TargetLibraryInfo.cpp @@ -31,16 +31,28 @@ const char* TargetLibraryInfo::StandardNames[LibFunc::NumLibFuncs] =      "__memcpy_chk",      "acos",      "acosf", +    "acosh", +    "acoshf", +    "acoshl",      "acosl",      "asin",      "asinf", +    "asinh", +    "asinhf", +    "asinhl",      "asinl",      "atan",      "atan2",      "atan2f",      "atan2l",      "atanf", +    "atanh", +    "atanhf", +    "atanhl",      "atanl", +    "cbrt", +    "cbrtf", +    "cbrtl",      "ceil",      "ceilf",      "ceill", @@ -54,6 +66,9 @@ const char* TargetLibraryInfo::StandardNames[LibFunc::NumLibFuncs] =      "coshl",      "cosl",      "exp", +    "exp10", +    "exp10f", +    "exp10l",      "exp2",      "exp2f",      "exp2l", @@ -86,6 +101,9 @@ const char* TargetLibraryInfo::StandardNames[LibFunc::NumLibFuncs] =      "log2",      "log2f",      "log2l", +    "logb", +    "logbf", +    "logbl",      "logf",      "logl",      "memchr", @@ -205,6 +223,21 @@ static void initialize(TargetLibraryInfo &TLI, const Triple &T,      TLI.setUnavailable(LibFunc::tanhl);      // Win32 only has C89 math +    TLI.setUnavailable(LibFunc::acosh); +    TLI.setUnavailable(LibFunc::acoshf); +    TLI.setUnavailable(LibFunc::acoshl); +    TLI.setUnavailable(LibFunc::asinh); +    TLI.setUnavailable(LibFunc::asinhf); +    TLI.setUnavailable(LibFunc::asinhl); +    TLI.setUnavailable(LibFunc::atanh); +    TLI.setUnavailable(LibFunc::atanhf); +    TLI.setUnavailable(LibFunc::atanhl); +    TLI.setUnavailable(LibFunc::cbrt); +    TLI.setUnavailable(LibFunc::cbrtf); +    TLI.setUnavailable(LibFunc::cbrtl); +    TLI.setUnavailable(LibFunc::exp10); +    TLI.setUnavailable(LibFunc::exp10f); +    TLI.setUnavailable(LibFunc::exp10l);      TLI.setUnavailable(LibFunc::exp2);      TLI.setUnavailable(LibFunc::exp2f);      TLI.setUnavailable(LibFunc::exp2l); @@ -217,6 +250,9 @@ static void initialize(TargetLibraryInfo &TLI, const Triple &T,      TLI.setUnavailable(LibFunc::log1p);      TLI.setUnavailable(LibFunc::log1pf);      TLI.setUnavailable(LibFunc::log1pl); +    TLI.setUnavailable(LibFunc::logb); +    TLI.setUnavailable(LibFunc::logbf); +    TLI.setUnavailable(LibFunc::logbl);      TLI.setUnavailable(LibFunc::nearbyint);      TLI.setUnavailable(LibFunc::nearbyintf);      TLI.setUnavailable(LibFunc::nearbyintl);  | 

