; RUN: opt < %s -simplify-libcalls -S -o %t
; RUN: FileCheck < %t %s

@str = internal constant [13 x i8] c"hello world\0A\00"         ; <[13 x i8]*> [#uses=1]
@str1 = internal constant [2 x i8] c"h\00"              ; <[2 x i8]*> [#uses=1]

declare i32 @printf(i8*, ...)

; CHECK: define void @f0
; CHECK-NOT: printf
; CHECK: }
define void @f0() {
entry:
        %tmp1 = tail call i32 (i8*, ...)* @printf( i8* getelementptr ([13 x i8]* @str, i32 0, i32 0) )         ; <i32> [#uses=0]
        ret void
}

; CHECK: define void @f1
; CHECK-NOT: printf
; CHECK: }
define void @f1() {
entry:
        %tmp1 = tail call i32 (i8*, ...)* @printf( i8* getelementptr ([2 x i8]* @str1, i32 0, i32 0) )         ; <i32> [#uses=0]
        ret void
}

; Verify that we don't turn this into a putchar call (thus changing the return
; value).
;
; CHECK: define i32 @f2
; CHECK: printf
; CHECK: }
define i32 @f2() {
  %call = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([2 x i8]* @str1, i32 0, i32 0))
  ret i32 %call
}
