llvm.org GIT mirror llvm / 874ebad
New test case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36717 91177308-0d34-0410-b5e6-96231b3b80d8 Evan Cheng 13 years ago
1 changed file(s) with 113 addition(s) and 0 deletion(s). Raw diff Collapse all Expand all
0 ; RUN: llvm-as < %s | llc -mtriple=arm-apple-darwin
1
2 %struct.Connection = type { i32, [10 x i8], i32 }
3 %struct.IntChunk = type { %struct.cppobjtype, i32, i32*, i32 }
4 %struct.Point = type { i8*, %struct.cppobjtype, i16 (%struct.Point*) sext *, i16 (%struct.Point*) sext *, double (%struct.Point*)*, double (%struct.Point*)* }
5 %struct.RefPoint = type { %struct.Point*, %struct.cppobjtype }
6 %struct.ShortArray = type { %struct.cppobjtype, i32, i16* }
7 %struct.TestObj = type { i8*, %struct.cppobjtype, i8, [32 x i8], i8*, i8**, i16, i16, i32, i32, i32, i32, float, double, %struct.cppobjtype, i32, i16*, i16**, i8**, i32, %struct.XyPoint, [3 x %struct.Connection], %struct.Point*, %struct.XyPoint*, i32, i8*, i8*, i16*, %struct.ShortArray, %struct.IntChunk, %struct.cppobjtype, %struct.cppobjtype, %struct.RefPoint, i32, %struct.cppobjtype, %struct.cppobjtype }
8 %struct.XyPoint = type { i16, i16 }
9 %struct.cppobjtype = type { i32, i16, i16 }
10 @Msg = external global [256 x i8] ; <[256 x i8]*> [#uses=1]
11 @.str53615 = external constant [48 x i8] ; <[48 x i8]*> [#uses=1]
12 @FirstTime.4637.b = external global i1 ; [#uses=1]
13
14 define fastcc void @Draw7(i32 %Option, i32* %Status) {
15 entry:
16 %tmp115.b = load i1* @FirstTime.4637.b ; [#uses=1]
17 br i1 %tmp115.b, label %cond_next239, label %cond_next.i
18
19 cond_next.i: ; preds = %entry
20 ret void
21
22 cond_next239: ; preds = %entry
23 %tmp242 = icmp eq i32 0, 0 ; [#uses=1]
24 br i1 %tmp242, label %cond_next253, label %cond_next296
25
26 cond_next253: ; preds = %cond_next239
27 switch i32 %Option, label %bb1326 [
28 i32 3, label %cond_true258
29 i32 4, label %cond_true268
30 i32 2, label %cond_true279
31 i32 1, label %cond_next315
32 ]
33
34 cond_true258: ; preds = %cond_next253
35 ret void
36
37 cond_true268: ; preds = %cond_next253
38 ret void
39
40 cond_true279: ; preds = %cond_next253
41 ret void
42
43 cond_next296: ; preds = %cond_next239
44 ret void
45
46 cond_next315: ; preds = %cond_next253
47 %tmp1140 = icmp eq i32 0, 0 ; [#uses=1]
48 br i1 %tmp1140, label %cond_true1143, label %bb1326
49
50 cond_true1143: ; preds = %cond_next315
51 %tmp1148 = icmp eq i32 0, 0 ; [#uses=4]
52 br i1 %tmp1148, label %cond_next1153, label %cond_true1151
53
54 cond_true1151: ; preds = %cond_true1143
55 ret void
56
57 cond_next1153: ; preds = %cond_true1143
58 %tmp8.i.i185 = icmp eq i32 0, 0 ; [#uses=1]
59 br i1 %tmp8.i.i185, label %TestObj_new1.exit, label %cond_true.i.i187
60
61 cond_true.i.i187: ; preds = %cond_next1153
62 ret void
63
64 TestObj_new1.exit: ; preds = %cond_next1153
65 %tmp1167 = icmp eq i16 0, 0 ; [#uses=1]
66 %tmp1178 = icmp eq i32 0, 0 ; [#uses=1]
67 %bothcond = and i1 %tmp1167, %tmp1178 ; [#uses=1]
68 br i1 %bothcond, label %bb1199, label %bb1181
69
70 bb1181: ; preds = %TestObj_new1.exit
71 ret void
72
73 bb1199: ; preds = %TestObj_new1.exit
74 br i1 %tmp1148, label %cond_next1235, label %Object_Dump.exit302
75
76 Object_Dump.exit302: ; preds = %bb1199
77 ret void
78
79 cond_next1235: ; preds = %bb1199
80 %bothcond10485 = or i1 false, %tmp1148 ; [#uses=1]
81 br i1 %bothcond10485, label %cond_next1267, label %cond_true1248
82
83 cond_true1248: ; preds = %cond_next1235
84 ret void
85
86 cond_next1267: ; preds = %cond_next1235
87 br i1 %tmp1148, label %cond_next1275, label %cond_true1272
88
89 cond_true1272: ; preds = %cond_next1267
90 %tmp1273 = load %struct.TestObj** null ; <%struct.TestObj*> [#uses=2]
91 %tmp2930.i = ptrtoint %struct.TestObj* %tmp1273 to i32 ; [#uses=1]
92 %tmp42.i348 = sub i32 0, %tmp2930.i ; [#uses=1]
93 %tmp45.i = getelementptr %struct.TestObj* %tmp1273, i32 0, i32 0 ; [#uses=2]
94 %tmp48.i = load i8** %tmp45.i ; [#uses=1]
95 %tmp50.i350 = call i32 (i8*, i8*, ...)* @sprintf( i8* getelementptr ([256 x i8]* @Msg, i32 0, i32 0), i8* getelementptr ([48 x i8]* @.str53615, i32 0, i32 0), i8* null, i8** %tmp45.i, i8* %tmp48.i ) ; [#uses=0]
96 br i1 false, label %cond_true.i632.i, label %Ut_TraceMsg.exit648.i
97
98 cond_true.i632.i: ; preds = %cond_true1272
99 ret void
100
101 Ut_TraceMsg.exit648.i: ; preds = %cond_true1272
102 %tmp57.i = getelementptr i8* null, i32 %tmp42.i348 ; [#uses=0]
103 ret void
104
105 cond_next1275: ; preds = %cond_next1267
106 ret void
107
108 bb1326: ; preds = %cond_next315, %cond_next253
109 ret void
110 }
111
112 declare i32 @sprintf(i8*, i8*, ...)