1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py 2; RUN: opt -jump-threading -S %s | FileCheck %s 3 4declare i1 @cond() 5 6define hidden void @hoge(i1 %c1, i32 %x) { 7; CHECK-LABEL: @hoge( 8; CHECK-NEXT: bb: 9; CHECK-NEXT: br label [[BB13:%.*]] 10; CHECK: bb4: 11; CHECK-NEXT: [[TMP3:%.*]] = icmp ne i32 [[TMP7:%.*]], undef 12; CHECK-NEXT: br i1 [[TMP3]], label [[BB5:%.*]], label [[BB13]] 13; CHECK: bb5: 14; CHECK-NEXT: br label [[BB6:%.*]] 15; CHECK: bb6: 16; CHECK-NEXT: [[TMP7]] = phi i32 [ [[TMP7]], [[BB5]] ], [ [[X:%.*]], [[BB8:%.*]] ] 17; CHECK-NEXT: [[C:%.*]] = call i1 @cond() 18; CHECK-NEXT: br i1 [[C]], label [[BB4:%.*]], label [[BB8]] 19; CHECK: bb8: 20; CHECK-NEXT: br label [[BB6]] 21; CHECK: bb13: 22; CHECK-NEXT: ret void 23; 24bb: 25 br i1 false, label %bb1, label %bb13 26 27bb1: ; preds = %bb 28 br label %bb2 29 30bb2: ; preds = %bb12, %bb1 31 %tmp = phi i32 [ 10, %bb1 ], [ %tmp7, %bb12 ] 32 %tmp3 = icmp ne i32 %tmp, undef 33 br label %bb4 34 35bb4: ; preds = %bb2 36 br i1 %tmp3, label %bb5, label %bb13 37 38bb5: ; preds = %bb4 39 br label %bb6 40 41bb6: ; preds = %bb8, %bb5 42 %tmp7 = phi i32 [ %tmp, %bb5 ], [ %x, %bb8 ] 43 %c = call i1 @cond() 44 br i1 %c, label %bb9, label %bb8 45 46bb8: ; preds = %bb6 47 br label %bb6 48 49bb9: ; preds = %bb6 50 br label %bb10 51 52bb10: ; preds = %bb9 53 br label %bb12 54 55bb12: ; preds = %bb10 56 br label %bb2 57 58bb13: ; preds = %bb4 59 ret void 60 61} 62