aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen
diff options
context:
space:
mode:
authorJan Voung <jvoung@chromium.org>2013-06-12 15:46:24 -0700
committerJan Voung <jvoung@chromium.org>2013-06-12 15:46:24 -0700
commit7f93d354387d7fc2fbdc59bc065d6c7d6ab6c9a0 (patch)
tree5baf8ee76a584705484b073d95caa1088f3f75ec /lib/CodeGen
parent7f4a09812f8657db659ceae09fc8d3826c256c5e (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.cpp14
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
};