123 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; RUN: opt %loadexampleirtransforms -passes=tut-simplifycfg -tut-simplifycfg-version=v1 < %s -S -verify-dom-info | FileCheck %s3; RUN: opt %loadexampleirtransforms -passes=tut-simplifycfg -tut-simplifycfg-version=v2 < %s -S -verify-dom-info | FileCheck %s4; RUN: opt %loadexampleirtransforms -passes=tut-simplifycfg -tut-simplifycfg-version=v3 < %s -S -verify-dom-info | FileCheck %s5 6define void @test() {7; CHECK-LABEL: @test(8; CHECK-NEXT: entry:9; CHECK-NEXT: switch i32 undef, label [[SW_DEFAULT23:%.*]] [10; CHECK-NEXT: i32 129, label [[SW_BB:%.*]]11; CHECK-NEXT: i32 215, label [[SW_BB1:%.*]]12; CHECK-NEXT: i32 117, label [[SW_BB1]]13; CHECK-NEXT: i32 207, label [[SW_BB1]]14; CHECK-NEXT: i32 158, label [[SW_BB1]]15; CHECK-NEXT: i32 94, label [[SW_BB1]]16; CHECK-NEXT: i32 219, label [[SW_BB1]]17; CHECK-NEXT: i32 88, label [[SW_BB1]]18; CHECK-NEXT: i32 168, label [[SW_BB1]]19; CHECK-NEXT: i32 295, label [[SW_BB1]]20; CHECK-NEXT: i32 294, label [[SW_BB1]]21; CHECK-NEXT: i32 296, label [[SW_BB1]]22; CHECK-NEXT: i32 67, label [[SW_BB1]]23; CHECK-NEXT: i32 293, label [[SW_BB1]]24; CHECK-NEXT: i32 382, label [[SW_BB1]]25; CHECK-NEXT: i32 335, label [[SW_BB1]]26; CHECK-NEXT: i32 393, label [[SW_BB1]]27; CHECK-NEXT: i32 415, label [[SW_BB1]]28; CHECK-NEXT: i32 400, label [[SW_BB1]]29; CHECK-NEXT: i32 383, label [[SW_BB1]]30; CHECK-NEXT: i32 421, label [[SW_BB1]]31; CHECK-NEXT: i32 422, label [[SW_BB1]]32; CHECK-NEXT: i32 302, label [[SW_BB1]]33; CHECK-NEXT: i32 303, label [[SW_BB1]]34; CHECK-NEXT: i32 304, label [[SW_BB1]]35; CHECK-NEXT: i32 420, label [[SW_BB1]]36; CHECK-NEXT: i32 401, label [[SW_EPILOG24:%.*]]37; CHECK-NEXT: i32 53, label [[SW_BB12:%.*]]38; CHECK-NEXT: i32 44, label [[SW_BB12]]39; CHECK-NEXT: ]40; CHECK: sw.bb:41; CHECK-NEXT: unreachable42; CHECK: sw.bb1:43; CHECK-NEXT: br label [[SW_EPILOG24]]44; CHECK: sw.bb12:45; CHECK-NEXT: switch i32 undef, label [[SW_DEFAULT:%.*]] [46; CHECK-NEXT: i32 47, label [[SW_BB13:%.*]]47; CHECK-NEXT: i32 8, label [[SW_BB13]]48; CHECK-NEXT: ]49; CHECK: sw.bb13:50; CHECK-NEXT: unreachable51; CHECK: sw.default:52; CHECK-NEXT: unreachable53; CHECK: sw.default23:54; CHECK-NEXT: unreachable55; CHECK: sw.epilog24:56; CHECK-NEXT: [[PREVIOUS_3:%.*]] = phi i32 [ undef, [[SW_BB1]] ], [ 401, [[ENTRY:%.*]] ]57; CHECK-NEXT: unreachable58;59entry:60 br label %while.body61 62while.body: ; preds = %entry63 switch i32 undef, label %sw.default23 [64 i32 129, label %sw.bb65 i32 215, label %sw.bb166 i32 117, label %sw.bb167 i32 207, label %sw.bb168 i32 158, label %sw.bb169 i32 94, label %sw.bb170 i32 219, label %sw.bb171 i32 88, label %sw.bb172 i32 168, label %sw.bb173 i32 295, label %sw.bb174 i32 294, label %sw.bb175 i32 296, label %sw.bb176 i32 67, label %sw.bb177 i32 293, label %sw.bb178 i32 382, label %sw.bb179 i32 335, label %sw.bb180 i32 393, label %sw.bb181 i32 415, label %sw.bb182 i32 400, label %sw.bb183 i32 383, label %sw.bb184 i32 421, label %sw.bb185 i32 422, label %sw.bb186 i32 302, label %sw.bb187 i32 303, label %sw.bb188 i32 304, label %sw.bb189 i32 420, label %sw.bb190 i32 401, label %sw.epilog2491 i32 53, label %sw.bb1292 i32 44, label %sw.bb1293 ]94 95sw.bb: ; preds = %while.body96 unreachable97 98sw.bb1: ; preds = %while.body, %while.body, %while.body, %while.body, %while.body, %while.body, %while.body, %while.body, %while.body, %while.body, %while.body, %while.body, %while.body, %while.body, %while.body, %while.body, %while.body, %while.body, %while.body, %while.body, %while.body, %while.body, %while.body, %while.body, %while.body99 br i1 false, label %land.lhs.true, label %sw.epilog24100 101land.lhs.true: ; preds = %sw.bb1102 br label %sw.epilog24103 104sw.bb12: ; preds = %while.body, %while.body105 switch i32 undef, label %sw.default [106 i32 47, label %sw.bb13107 i32 8, label %sw.bb13108 ]109 110sw.bb13: ; preds = %sw.bb12, %sw.bb12111 unreachable112 113sw.default: ; preds = %sw.bb12114 unreachable115 116sw.default23: ; preds = %while.body117 unreachable118 119sw.epilog24: ; preds = %land.lhs.true, %sw.bb1, %while.body120 %Previous.3 = phi i32 [ undef, %land.lhs.true ], [ undef, %sw.bb1 ], [ 401, %while.body ]121 unreachable122}123