summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen
diff options
context:
space:
mode:
authorChih-Hung Hsieh <chh@google.com>2018-01-31 19:12:50 +0000
committerChih-Hung Hsieh <chh@google.com>2018-01-31 19:12:50 +0000
commit60d1e79ffbe1f297d4c563b02ba1c2fa09418e0d (patch)
tree05bba8178de7366c41a0aa9aba2aad87f05487af /llvm/test/CodeGen
parent7892ae44b415d90d9d3f524edb9aa117d2e3c87f (diff)
downloadbcm5719-llvm-60d1e79ffbe1f297d4c563b02ba1c2fa09418e0d.tar.gz
bcm5719-llvm-60d1e79ffbe1f297d4c563b02ba1c2fa09418e0d.zip
[Analysis] Disable calls to *_finite and other glibc-only functions on Android.
Since r322087, glibc's finite lib calls are generated when possible. However, they are not supported on Android. This change also disables other functions not available on Android. Differential Revision: http://reviews.llvm.org/D42668 llvm-svn: 323898
Diffstat (limited to 'llvm/test/CodeGen')
-rw-r--r--llvm/test/CodeGen/AArch64/illegal-float-ops.ll24
1 files changed, 24 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/AArch64/illegal-float-ops.ll b/llvm/test/CodeGen/AArch64/illegal-float-ops.ll
index 81a3abd2bd9..8bee4437f6b 100644
--- a/llvm/test/CodeGen/AArch64/illegal-float-ops.ll
+++ b/llvm/test/CodeGen/AArch64/illegal-float-ops.ll
@@ -265,6 +265,30 @@ define void @test_exp2_finite(double %double) #0 {
ret void
}
+define void @test_log_finite(double %double) #0 {
+ %logdouble = call double @llvm.log.f64(double %double)
+ store double %logdouble, double* @vardouble
+ ; ANDROID-AARCH64-NOT: bl __log_finite
+ ; CHECK: bl __log_finite
+ ret void
+}
+
+define void @test_log2_finite(double %double) #0 {
+ %log2double = call double @llvm.log2.f64(double %double)
+ store double %log2double, double* @vardouble
+ ; ANDROID-AARCH64-NOT: bl __log2_finite
+ ; CHECK: bl __log2_finite
+ ret void
+}
+
+define void @test_log10_finite(double %double) #0 {
+ %log10double = call double @llvm.log10.f64(double %double)
+ store double %log10double, double* @vardouble
+ ; ANDROID-AARCH64-NOT: bl __log10_finite
+ ; CHECK: bl __log10_finite
+ ret void
+}
+
define void @test_pow_finite(double %double) #0 {
%powdouble = call double @llvm.pow.f64(double %double, double %double)
store double %powdouble, double* @vardouble
OpenPOWER on IntegriCloud