diff options
Diffstat (limited to 'test/Transforms/SimplifyLibCalls/Puts.ll')
-rw-r--r-- | test/Transforms/SimplifyLibCalls/Puts.ll | 37 |
1 files changed, 18 insertions, 19 deletions
diff --git a/test/Transforms/SimplifyLibCalls/Puts.ll b/test/Transforms/SimplifyLibCalls/Puts.ll index 795b15cb65..e9bb2b381c 100644 --- a/test/Transforms/SimplifyLibCalls/Puts.ll +++ b/test/Transforms/SimplifyLibCalls/Puts.ll @@ -1,27 +1,26 @@ ; Test that the PutsCatOptimizer works correctly -; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | \ +; RUN: llvm-as < %s | opt -simplify-libcalls | llvm-dis | \ ; RUN: not grep {call.*fputs} ; -%struct._IO_FILE = type { int, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, %struct._IO_marker*, %struct._IO_FILE*, int, int, int, ushort, sbyte, [1 x sbyte], sbyte*, long, sbyte*, sbyte*, int, [52 x sbyte] } -%struct._IO_marker = type { %struct._IO_marker*, %struct._IO_FILE*, int } -%stdout = external global %struct._IO_FILE* ; <%struct._IO_FILE**> [#uses=1] -declare int %fputs(sbyte*, %struct._IO_FILE*) + %struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i32, i16, i8, [1 x i8], i8*, i64, i8*, i8*, i32, [52 x i8] } + %struct._IO_marker = type { %struct._IO_marker*, %struct._IO_FILE*, i32 } +@stdout = external global %struct._IO_FILE* ; <%struct._IO_FILE**> [#uses=1] +@empty = constant [1 x i8] zeroinitializer ; <[1 x i8]*> [#uses=1] +@len1 = constant [2 x i8] c"A\00" ; <[2 x i8]*> [#uses=1] +@long = constant [7 x i8] c"hello\0A\00" ; <[7 x i8]*> [#uses=1] -%empty = constant [1 x sbyte] c"\00" -%len1 = constant [2 x sbyte] c"A\00" -%long = constant [7 x sbyte] c"hello\0A\00" +declare i32 @fputs(i8*, %struct._IO_FILE*) -implementation ; Functions: - -int %main() { +define i32 @main() { entry: - %out = load %struct._IO_FILE** %stdout - %s1 = getelementptr [1 x sbyte]* %empty, int 0, int 0 - %s2 = getelementptr [2 x sbyte]* %len1, int 0, int 0 - %s3 = getelementptr [7 x sbyte]* %long, int 0, int 0 - %a = call int %fputs( sbyte* %s1, %struct._IO_FILE* %out ) - %b = call int %fputs( sbyte* %s2, %struct._IO_FILE* %out ) - %c = call int %fputs( sbyte* %s3, %struct._IO_FILE* %out ) - ret int 0 + %out = load %struct._IO_FILE** @stdout ; <%struct._IO_FILE*> [#uses=3] + %s1 = getelementptr [1 x i8]* @empty, i32 0, i32 0 ; <i8*> [#uses=1] + %s2 = getelementptr [2 x i8]* @len1, i32 0, i32 0 ; <i8*> [#uses=1] + %s3 = getelementptr [7 x i8]* @long, i32 0, i32 0 ; <i8*> [#uses=1] + %a = call i32 @fputs( i8* %s1, %struct._IO_FILE* %out ) ; <i32> [#uses=0] + %b = call i32 @fputs( i8* %s2, %struct._IO_FILE* %out ) ; <i32> [#uses=0] + %c = call i32 @fputs( i8* %s3, %struct._IO_FILE* %out ) ; <i32> [#uses=0] + ret i32 0 } + |