diff options
author | Jan Voung <jvoung@chromium.org> | 2013-06-12 15:46:24 -0700 |
---|---|---|
committer | Jan Voung <jvoung@chromium.org> | 2013-06-12 15:46:24 -0700 |
commit | 7f93d354387d7fc2fbdc59bc065d6c7d6ab6c9a0 (patch) | |
tree | 5baf8ee76a584705484b073d95caa1088f3f75ec /lib/CodeGen | |
parent | 7f4a09812f8657db659ceae09fc8d3826c256c5e (diff) |
Take some of the LLVM LibM intrinsics out of the "must be external" list.
Intrinsic::sin, Intrinsic::cos, etc., aren't generated.
Intrinsic::sqrt is implemented in hardware we support now.
If future hardware does not support it, we can supply
a library function in the runtime.
BUG=https://code.google.com/p/nativeclient/issues/detail?id=3339
TEST=scons, llvm test suite, gcc torture, spec2k
R=eliben@chromium.org
Review URL: https://codereview.chromium.org/16868002
Diffstat (limited to 'lib/CodeGen')
-rw-r--r-- | lib/CodeGen/IntrinsicLowering.cpp | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/lib/CodeGen/IntrinsicLowering.cpp b/lib/CodeGen/IntrinsicLowering.cpp index 7b8ff51ad6..0c035718a4 100644 --- a/lib/CodeGen/IntrinsicLowering.cpp +++ b/lib/CodeGen/IntrinsicLowering.cpp @@ -101,19 +101,15 @@ static CallInst *ReplaceCallWith(const char *NewFn, CallInst *CI, // * make sure they do not get specialized for a given callsite // Both problems are avoided by pretending there are unknown callers. // The function: IntrinsicLowering::AddPrototypes() below does just that. -// TODO(robertm): elaborate some more +// +// We are in the process of removing the need for this list. +// Intrinsics that are truly supported will have versions of these +// functions exported by native libs, so that they can be found. +// Bitcode can then internalize symbols. static const char *IntrinsicNames[] = { "abort", "memcpy", "memset", "memmove", - "sqrtf", "sqrt", "sqrtl", - "sinf", "sin", "sinl", - "cosf", "cos", "cosl", "powf", "pow", "powl", - "logf", "log", "logl", - "log2f", "log2", "log2l", - "log10f", "log10", "log10l", - "expf", "exp", "expl", - "exp2f", "exp2", "exp2l", NULL }; |