Fix a number of byval / memcpy / memset related codegen issues.
[oota-llvm.git] / test / CodeGen / X86 / memset-2.ll
1 ; RUN: llvm-as < %s | llc -march=x86 | not grep rep
2 ; RUN: llvm-as < %s | llc -march=x86 | grep memset
3
4 declare void @llvm.memset.i32(i8*, i8, i32, i32) nounwind
5
6 define fastcc i32 @cli_scanzip(i32 %desc) nounwind {
7 entry:
8         br label %bb8.i.i.i.i
9
10 bb8.i.i.i.i:            ; preds = %bb8.i.i.i.i, %entry
11         icmp eq i32 0, 0                ; <i1>:0 [#uses=1]
12         br i1 %0, label %bb61.i.i.i, label %bb8.i.i.i.i
13
14 bb32.i.i.i:             ; preds = %bb61.i.i.i
15         ptrtoint i8* %tail.0.i.i.i to i32               ; <i32>:1 [#uses=1]
16         sub i32 0, %1           ; <i32>:2 [#uses=1]
17         icmp sgt i32 %2, 19             ; <i1>:3 [#uses=1]
18         br i1 %3, label %bb34.i.i.i, label %bb61.i.i.i
19
20 bb34.i.i.i:             ; preds = %bb32.i.i.i
21         load i32* null, align 4         ; <i32>:4 [#uses=1]
22         icmp eq i32 %4, 101010256               ; <i1>:5 [#uses=1]
23         br i1 %5, label %bb8.i11.i.i.i, label %bb61.i.i.i
24
25 bb8.i11.i.i.i:          ; preds = %bb8.i11.i.i.i, %bb34.i.i.i
26         icmp eq i32 0, 0                ; <i1>:6 [#uses=1]
27         br i1 %6, label %cli_dbgmsg.exit49.i, label %bb8.i11.i.i.i
28
29 cli_dbgmsg.exit49.i:            ; preds = %bb8.i11.i.i.i
30         icmp eq [32768 x i8]* null, null                ; <i1>:7 [#uses=1]
31         br i1 %7, label %bb1.i28.i, label %bb8.i.i
32
33 bb61.i.i.i:             ; preds = %bb61.i.i.i, %bb34.i.i.i, %bb32.i.i.i, %bb8.i.i.i.i
34         %tail.0.i.i.i = getelementptr [1024 x i8]* null, i32 0, i32 0           ; <i8*> [#uses=2]
35         load i8* %tail.0.i.i.i, align 1         ; <i8>:8 [#uses=1]
36         icmp eq i8 %8, 80               ; <i1>:9 [#uses=1]
37         br i1 %9, label %bb32.i.i.i, label %bb61.i.i.i
38
39 bb1.i28.i:              ; preds = %cli_dbgmsg.exit49.i
40         call void @llvm.memset.i32( i8* null, i8 0, i32 88, i32 1 ) nounwind
41         unreachable
42
43 bb8.i.i:                ; preds = %bb8.i.i, %cli_dbgmsg.exit49.i
44         br label %bb8.i.i
45 }