; 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)

Add positive test for sqrt "partial inlining". NFC.
Add positive test for sqrt "partial inlining". NFC.


git-svn-id: 0ff597fd157e6f4fc38580e8d64ab130330d2411@291001 91177308-0d34-0410-b5e6-96231b3b80d8
