Fix a bunch of issues found in a testcase from 400.perlbench.
[oota-llvm.git] / test / Transforms / SimplifyLibCalls / MemSet.ll
1 ; Test that the LLVMMemSetOptimizer works correctly
2 ; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | \
3 ; RUN:   not grep {call.*llvm.memset}
4 ; END.
5
6 declare void %llvm.memset.i32(sbyte*,ubyte,uint,uint)
7
8 implementation   ; Functions:
9
10 int %main () {
11   %target = alloca [1024 x sbyte]
12   %target_p = getelementptr [1024 x sbyte]* %target, int 0, int 0
13   call void %llvm.memset.i32(sbyte* %target_p, ubyte 1, uint 0, uint 1)
14   call void %llvm.memset.i32(sbyte* %target_p, ubyte 1, uint 1, uint 1)
15   call void %llvm.memset.i32(sbyte* %target_p, ubyte 1, uint 2, uint 2)
16   call void %llvm.memset.i32(sbyte* %target_p, ubyte 1, uint 4, uint 4)
17   call void %llvm.memset.i32(sbyte* %target_p, ubyte 1, uint 8, uint 8)
18   ret int 0
19 }