d68928ee6b5ae80f44bf458afb3ac55c296a7ed2
[oota-llvm.git] / test / Transforms / SimplifyLibCalls / Printf.ll
1 ; RUN: opt < %s -simplify-libcalls -S -o %t
2 ; RUN: FileCheck < %t %s
3
4 ; CHECK-NOT: call{{.*}}printf
5 ; CHECK: putchar
6
7 @str = internal constant [13 x i8] c"hello world\0A\00"         ; <[13 x i8]*> [#uses=1]
8 @str1 = internal constant [2 x i8] c"h\00"              ; <[2 x i8]*> [#uses=1]
9
10 define void @foo() {
11 entry:
12         %tmp1 = tail call i32 (i8*, ...)* @printf( i8* getelementptr ([13 x i8]* @str, i32 0, i32 0) )         ; <i32> [#uses=0]
13         ret void
14 }
15
16 declare i32 @printf(i8*, ...)
17
18 define void @bar() {
19 entry:
20         %tmp1 = tail call i32 (i8*, ...)* @printf( i8* getelementptr ([2 x i8]* @str1, i32 0, i32 0) )         ; <i32> [#uses=0]
21         ret void
22 }
23