114 lines · plain
1; RUN: llc < %s -mtriple=arm-apple-darwin2 3 %struct.Connection = type { i32, [10 x i8], i32 }4 %struct.IntChunk = type { %struct.cppobjtype, i32, ptr, i32 }5 %struct.Point = type { ptr, %struct.cppobjtype, ptr, ptr, ptr, ptr }6 %struct.RefPoint = type { ptr, %struct.cppobjtype }7 %struct.ShortArray = type { %struct.cppobjtype, i32, ptr }8 %struct.TestObj = type { ptr, %struct.cppobjtype, i8, [32 x i8], ptr, ptr, i16, i16, i32, i32, i32, i32, float, double, %struct.cppobjtype, i32, ptr, ptr, ptr, i32, %struct.XyPoint, [3 x %struct.Connection], ptr, ptr, i32, ptr, ptr, ptr, %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] ; <ptr> [#uses=1]12@.str53615 = external constant [48 x i8] ; <ptr> [#uses=1]13@FirstTime.4637.b = external global i1 ; <ptr> [#uses=1]14 15define fastcc void @Draw7(i32 %Option, ptr %Status) {16entry:17 %tmp115.b = load i1, ptr @FirstTime.4637.b ; <i1> [#uses=1]18 br i1 %tmp115.b, label %cond_next239, label %cond_next.i19 20cond_next.i: ; preds = %entry21 ret void22 23cond_next239: ; preds = %entry24 %tmp242 = icmp eq i32 0, 0 ; <i1> [#uses=1]25 br i1 %tmp242, label %cond_next253, label %cond_next29626 27cond_next253: ; preds = %cond_next23928 switch i32 %Option, label %bb1326 [29 i32 3, label %cond_true25830 i32 4, label %cond_true26831 i32 2, label %cond_true27932 i32 1, label %cond_next31533 ]34 35cond_true258: ; preds = %cond_next25336 ret void37 38cond_true268: ; preds = %cond_next25339 ret void40 41cond_true279: ; preds = %cond_next25342 ret void43 44cond_next296: ; preds = %cond_next23945 ret void46 47cond_next315: ; preds = %cond_next25348 %tmp1140 = icmp eq i32 0, 0 ; <i1> [#uses=1]49 br i1 %tmp1140, label %cond_true1143, label %bb132650 51cond_true1143: ; preds = %cond_next31552 %tmp1148 = icmp eq i32 0, 0 ; <i1> [#uses=4]53 br i1 %tmp1148, label %cond_next1153, label %cond_true115154 55cond_true1151: ; preds = %cond_true114356 ret void57 58cond_next1153: ; preds = %cond_true114359 %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.i18761 62cond_true.i.i187: ; preds = %cond_next115363 ret void64 65TestObj_new1.exit: ; preds = %cond_next115366 %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 %bb118170 71bb1181: ; preds = %TestObj_new1.exit72 ret void73 74bb1199: ; preds = %TestObj_new1.exit75 br i1 %tmp1148, label %cond_next1235, label %Object_Dump.exit30276 77Object_Dump.exit302: ; preds = %bb119978 ret void79 80cond_next1235: ; preds = %bb119981 %bothcond10485 = or i1 false, %tmp1148 ; <i1> [#uses=1]82 br i1 %bothcond10485, label %cond_next1267, label %cond_true124883 84cond_true1248: ; preds = %cond_next123585 ret void86 87cond_next1267: ; preds = %cond_next123588 br i1 %tmp1148, label %cond_next1275, label %cond_true127289 90cond_true1272: ; preds = %cond_next126791 %tmp1273 = load ptr, ptr null ; <ptr> [#uses=2]92 %tmp2930.i = ptrtoint ptr %tmp1273 to i32 ; <i32> [#uses=1]93 %tmp42.i348 = sub i32 0, %tmp2930.i ; <i32> [#uses=1]94 %tmp45.i = getelementptr %struct.TestObj, ptr %tmp1273, i32 0, i32 0 ; <ptr> [#uses=2]95 %tmp48.i = load ptr, ptr %tmp45.i ; <ptr> [#uses=1]96 %tmp50.i350 = call i32 (ptr, ptr, ...) @sprintf( ptr @Msg, ptr @.str53615, ptr null, ptr %tmp45.i, ptr %tmp48.i ) ; <i32> [#uses=0]97 br i1 false, label %cond_true.i632.i, label %Ut_TraceMsg.exit648.i98 99cond_true.i632.i: ; preds = %cond_true1272100 ret void101 102Ut_TraceMsg.exit648.i: ; preds = %cond_true1272103 %tmp57.i = getelementptr i8, ptr null, i32 %tmp42.i348 ; <ptr> [#uses=0]104 ret void105 106cond_next1275: ; preds = %cond_next1267107 ret void108 109bb1326: ; preds = %cond_next315, %cond_next253110 ret void111}112 113declare i32 @sprintf(ptr, ptr, ...)114