95 lines · plain
1; RUN: opt < %s -passes=adce -disable-output2; RUN: opt < %s -passes=adce -adce-remove-loops=true -disable-output3 4target datalayout = "e-p:32:32"5 %struct..CppObjTypeDesc = type { i32, i16, i16 }6 %struct..TypeToken = type { i32, i16, i16 }7 8define i32 @C_ReFaxToDb() {9entry:10 br i1 false, label %endif.0, label %then.011 12then.0: ; preds = %entry13 ret i32 014 15endif.0: ; preds = %entry16 br i1 false, label %then.11, label %then.417 18then.4: ; preds = %endif.019 ret i32 020 21then.11: ; preds = %endif.022 br i1 false, label %loopentry.0, label %else.223 24loopentry.0: ; preds = %loopentry.1, %endif.14, %then.1125 br i1 false, label %endif.14, label %loopexit.026 27endif.14: ; preds = %loopentry.028 br i1 false, label %loopentry.1, label %loopentry.029 30loopentry.1: ; preds = %then.53, %endif.1431 %SubArrays.10 = phi ptr [ %SubArrays.8, %then.53 ], [ null, %endif.14 ] ; <ptr> [#uses=3]32 br i1 false, label %no_exit.1, label %loopentry.033 34no_exit.1: ; preds = %loopentry.135; CHECK: switch36 switch i32 0, label %label.17 [37 i32 2, label %label.1138 i32 19, label %label.1039 ]40 41label.10: ; preds = %no_exit.142 br i1 false, label %then.43, label %endif.4343 44then.43: ; preds = %label.1045 br i1 false, label %then.44, label %endif.4446 47then.44: ; preds = %then.4348 br i1 false, label %shortcirc_next.4, label %endif.4549 50shortcirc_next.4: ; preds = %then.4451 br i1 false, label %no_exit.2, label %loopexit.252 53no_exit.2: ; preds = %shortcirc_next.454 %tmp.897 = getelementptr i32, ptr %SubArrays.10, i64 0 ; <ptr> [#uses=1]55 %tmp.899 = load i32, ptr %tmp.897 ; <i32> [#uses=1]56 store i32 %tmp.899, ptr null57 ret i32 058 59loopexit.2: ; preds = %shortcirc_next.460 ret i32 061 62endif.45: ; preds = %then.4463 ret i32 064 65endif.44: ; preds = %then.4366 ret i32 067 68endif.43: ; preds = %label.1069 ret i32 070 71label.11: ; preds = %no_exit.172 ret i32 073 74label.17: ; preds = %no_exit.175 br i1 false, label %then.53, label %shortcirc_next.776 77shortcirc_next.7: ; preds = %label.1778 br i1 false, label %then.53, label %shortcirc_next.879 80shortcirc_next.8: ; preds = %shortcirc_next.781 ret i32 082 83then.53: ; preds = %shortcirc_next.7, %label.1784 %SubArrays.8 = phi ptr [ %SubArrays.10, %shortcirc_next.7 ], [ %SubArrays.10, %label.17 ] ; <ptr> [#uses=1]85 %tmp.1023 = load i32, ptr null ; <i32> [#uses=1]86 switch i32 %tmp.1023, label %loopentry.1 [87 ]88 89loopexit.0: ; preds = %loopentry.090 ret i32 091 92else.2: ; preds = %then.1193 ret i32 094}95