[llvm] r291001 - Add positive test for sqrt "partial inlining". NFC.

Michael Kuperstein via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 4 12:48:30 PST 2017


Author: mkuper
Date: Wed Jan  4 14:48:30 2017
New Revision: 291001

URL: http://llvm.org/viewvc/llvm-project?rev=291001&view=rev
Log:
Add positive test for sqrt "partial inlining". NFC.

Added:
    llvm/trunk/test/Transforms/PartiallyInlineLibCalls/good-prototype.ll

Added: llvm/trunk/test/Transforms/PartiallyInlineLibCalls/good-prototype.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/PartiallyInlineLibCalls/good-prototype.ll?rev=291001&view=auto
==============================================================================
--- llvm/trunk/test/Transforms/PartiallyInlineLibCalls/good-prototype.ll (added)
+++ llvm/trunk/test/Transforms/PartiallyInlineLibCalls/good-prototype.ll Wed Jan  4 14:48:30 2017
@@ -0,0 +1,23 @@
+; RUN: opt -S -partially-inline-libcalls < %s | FileCheck %s
+; RUN: opt -S -passes=partially-inline-libcalls < %s | FileCheck %s
+
+target triple = "x86_64-unknown-linux-gnu"
+
+define float @f(float %val) {
+; CHECK: @f
+; CHECK: entry:
+; CHECK-NEXT: %[[RES:.+]] = tail call float @sqrtf(float %val) #0
+; CHECK-NEXT: %[[CMP:.+]] = fcmp oeq float %[[RES]], %[[RES]]
+; CHECK-NEXT: br i1 %[[CMP]], label %[[EXIT:.+]], label %[[CALL:.+]]
+; CHECK: [[CALL]]:
+; CHECK-NEXT: %[[RES2:.+]] = tail call float @sqrtf(float %val){{$}}
+; CHECK-NEXT: br label %[[EXIT]]
+; CHECK: [[EXIT]]:
+; CHECK-NEXT: %[[RET:.+]] = phi float [ %[[RES]], %entry ], [ %[[RES2]], %[[CALL]] ]
+; CHECK-NEXT: ret float %[[RET]]
+entry:
+  %res = tail call float @sqrtf(float %val)
+  ret float %res
+}
+
+declare float @sqrtf(float)




More information about the llvm-commits mailing list