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