1 ; RUN: opt < %s -jump-threading -disable-output -verify-dom-info 2 @global = external global i64, align 8 3 4 define void @f() { 5 bb: 6 br label %bb1 7 8 bb1: 9 %tmp = load i64, i64* @global, align 8 10 %tmp2 = icmp eq i64 %tmp, 0 11 br i1 %tmp2, label %bb27, label %bb3 12 13 bb3: 14 %tmp4 = load i64, i64* @global, align 8 15 %tmp5 = icmp eq i64 %tmp4, 0 16 br i1 %tmp5, label %bb6, label %bb7 17 18 bb6: 19 br label %bb7 20 21 bb7: 22 %tmp8 = phi i1 [ true, %bb3 ], [ undef, %bb6 ] 23 %tmp9 = select i1 %tmp8, i64 %tmp4, i64 0 24 br i1 false, label %bb10, label %bb23 25 26 bb10: 27 %tmp11 = load i64, i64* @global, align 8 28 %tmp12 = icmp slt i64 %tmp11, 5 29 br i1 %tmp12, label %bb13, label %bb17 30 31 bb13: 32 br label %bb14 33 34 bb14: 35 br i1 undef, label %bb15, label %bb16 36 37 bb15: 38 unreachable 39 40 bb16: 41 br label %bb10 42 43 bb17: 44 br label %bb18 45 46 bb18: 47 br i1 undef, label %bb22, label %bb13 48 49 bb19: 50 br i1 undef, label %bb20, label %bb21 51 52 bb20: 53 unreachable 54 55 bb21: 56 br label %bb18 57 58 bb22: 59 br label %bb23 60 61 bb23: 62 br i1 undef, label %bb24, label %bb13 63 64 bb24: 65 br i1 undef, label %bb26, label %bb25 66 67 bb25: 68 br label %bb19 69 70 bb26: 71 br label %bb1 72 73 bb27: 74 br label %bb24 75 } 76