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