blob: d31a36ae3c6c0d14582cf2285603e2b4793652c4 [file] [log] [blame]
Reid Spencer3b7c6dc2005-05-03 04:00:24 +00001; Test that the LLVMMemSetOptimizer works correctly
Reid Spencer69ccadd2006-12-02 04:23:10 +00002; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | not grep 'call.*llvm.memset'
Reid Spencer3b7c6dc2005-05-03 04:00:24 +00003
Reid Spencer34efdf82005-05-03 06:22:41 +00004declare void %llvm.memset(sbyte*,ubyte,uint,uint)
Reid Spencer3b7c6dc2005-05-03 04:00:24 +00005
6implementation ; Functions:
7
8int %main () {
9 %target = alloca [1024 x sbyte]
10 %target_p = getelementptr [1024 x sbyte]* %target, int 0, int 0
Reid Spencer34efdf82005-05-03 06:22:41 +000011 call void %llvm.memset(sbyte* %target_p, ubyte 1, uint 0, uint 1)
12 call void %llvm.memset(sbyte* %target_p, ubyte 1, uint 1, uint 1)
13 call void %llvm.memset(sbyte* %target_p, ubyte 1, uint 2, uint 2)
14 call void %llvm.memset(sbyte* %target_p, ubyte 1, uint 4, uint 4)
15 call void %llvm.memset(sbyte* %target_p, ubyte 1, uint 8, uint 8)
Reid Spencer3b7c6dc2005-05-03 04:00:24 +000016 ret int 0
17}