aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/Mips
diff options
context:
space:
mode:
authorReed Kotler <rkotler@mips.com>2013-09-01 04:12:59 +0000
committerReed Kotler <rkotler@mips.com>2013-09-01 04:12:59 +0000
commitb83c66eb5e1efb8a1b2b204fc67fe7d11e938248 (patch)
tree1af08d79a6606e640106baae63eabe8a73ee1219 /lib/Target/Mips
parentf53e9b4896e98fc07318c79274d0c5ed676f4548 (diff)
downloadexternal_llvm-b83c66eb5e1efb8a1b2b204fc67fe7d11e938248.zip
external_llvm-b83c66eb5e1efb8a1b2b204fc67fe7d11e938248.tar.gz
external_llvm-b83c66eb5e1efb8a1b2b204fc67fe7d11e938248.tar.bz2
Make sure we don't generate stubs for any of these functions because they
don't exist in libc. This is really not the right way to solve this problem; but it's not clear to me at this time exactly what is the right way. If we create stubs here, they will cause link errors because these functions do not exist in libc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189727 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Mips')
-rw-r--r--lib/Target/Mips/Mips16HardFloat.cpp23
1 files changed, 21 insertions, 2 deletions
diff --git a/lib/Target/Mips/Mips16HardFloat.cpp b/lib/Target/Mips/Mips16HardFloat.cpp
index a66abb2..a73d162 100644
--- a/lib/Target/Mips/Mips16HardFloat.cpp
+++ b/lib/Target/Mips/Mips16HardFloat.cpp
@@ -322,10 +322,29 @@ static void assureFPCallStub(Function &F, Module *M,
}
//
-// Functions that are inline intrinsics don't need helpers.
+// Functions that are llvm intrinsics and don't need helpers.
//
static const char *IntrinsicInline[] =
- {"fabs", "llvm.powi.f64"};
+ {"fabs",
+ "llvm.ceil.f32", "llvm.ceil.f64",
+ "llvm.copysign.f32", "llvm.copysign.f64",
+ "llvm.cos.f32", "llvm.cos.f64",
+ "llvm.exp.f32", "llvm.exp.f64",
+ "llvm.exp2.f32", "llvm.exp2.f64",
+ "llvm.fabs.f32", "llvm.fabs.f64",
+ "llvm.floor.f32", "llvm.floor.f64",
+ "llvm.fma.f32", "llvm.fma.f64",
+ "llvm.log.f32", "llvm.log.f64",
+ "llvm.log10.f32", "llvm.log10.f64",
+ "llvm.nearbyint.f32", "llvm.nearbyint.f64",
+ "llvm.pow.f32", "llvm.pow.f64",
+ "llvm.powi.f32", "llvm.powi.f64",
+ "llvm.rint.f32", "llvm.rint.f64",
+ "llvm.round.f32", "llvm.round.f64",
+ "llvm.sin.f32", "llvm.sin.f64",
+ "llvm.sqrt.f32", "llvm.sqrt.f64",
+ "llvm.trunc.f32", "llvm.trunc.f64",
+ };
static bool isIntrinsicInline(Function *F) {
return std::binary_search(