1*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=x86_64-apple-macosx10.5.0 < %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker; rdar://12968664 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Workerdefine void @t() nounwind uwtable ssp { 6*9880d681SAndroid Build Coastguard Worker br label %4 7*9880d681SAndroid Build Coastguard Worker 8*9880d681SAndroid Build Coastguard Worker; <label>:1 ; preds = %4, %2 9*9880d681SAndroid Build Coastguard Worker ret void 10*9880d681SAndroid Build Coastguard Worker 11*9880d681SAndroid Build Coastguard Worker; <label>:2 ; preds = %6, %5, %3, %2 12*9880d681SAndroid Build Coastguard Worker switch i32 undef, label %2 [ 13*9880d681SAndroid Build Coastguard Worker i32 1090573978, label %1 14*9880d681SAndroid Build Coastguard Worker i32 1090573938, label %3 15*9880d681SAndroid Build Coastguard Worker i32 1090573957, label %5 16*9880d681SAndroid Build Coastguard Worker ] 17*9880d681SAndroid Build Coastguard Worker 18*9880d681SAndroid Build Coastguard Worker; <label>:3 ; preds = %4, %2 19*9880d681SAndroid Build Coastguard Worker br i1 undef, label %2, label %4 20*9880d681SAndroid Build Coastguard Worker 21*9880d681SAndroid Build Coastguard Worker; <label>:4 ; preds = %6, %5, %3, %0 22*9880d681SAndroid Build Coastguard Worker switch i32 undef, label %11 [ 23*9880d681SAndroid Build Coastguard Worker i32 1090573938, label %3 24*9880d681SAndroid Build Coastguard Worker i32 1090573957, label %5 25*9880d681SAndroid Build Coastguard Worker i32 1090573978, label %1 26*9880d681SAndroid Build Coastguard Worker i32 165205179, label %6 27*9880d681SAndroid Build Coastguard Worker ] 28*9880d681SAndroid Build Coastguard Worker 29*9880d681SAndroid Build Coastguard Worker; <label>:5 ; preds = %4, %2 30*9880d681SAndroid Build Coastguard Worker br i1 undef, label %2, label %4 31*9880d681SAndroid Build Coastguard Worker 32*9880d681SAndroid Build Coastguard Worker; <label>:6 ; preds = %4 33*9880d681SAndroid Build Coastguard Worker %7 = icmp eq i32 undef, 590901838 34*9880d681SAndroid Build Coastguard Worker %8 = or i1 false, %7 35*9880d681SAndroid Build Coastguard Worker %9 = or i1 true, %8 36*9880d681SAndroid Build Coastguard Worker %10 = xor i1 %8, %9 37*9880d681SAndroid Build Coastguard Worker br i1 %10, label %4, label %2 38*9880d681SAndroid Build Coastguard Worker 39*9880d681SAndroid Build Coastguard Worker; <label>:11 ; preds = %11, %4 40*9880d681SAndroid Build Coastguard Worker br label %11 41*9880d681SAndroid Build Coastguard Worker} 42*9880d681SAndroid Build Coastguard Worker 43*9880d681SAndroid Build Coastguard Worker; PR15608 44*9880d681SAndroid Build Coastguard Worker@global = external constant [2 x i8] 45*9880d681SAndroid Build Coastguard Worker 46*9880d681SAndroid Build Coastguard Workerdefine void @PR15608() { 47*9880d681SAndroid Build Coastguard Workerbb: 48*9880d681SAndroid Build Coastguard Worker br label %bb3 49*9880d681SAndroid Build Coastguard Worker 50*9880d681SAndroid Build Coastguard Workerbb1: ; No predecessors! 51*9880d681SAndroid Build Coastguard Worker br i1 icmp ult (i64 xor (i64 zext (i1 trunc (i192 lshr (i192 or (i192 shl (i192 zext (i64 trunc (i128 lshr (i128 trunc (i384 lshr (i384 or (i384 shl (i384 zext (i64 ptrtoint ([2 x i8]* @global to i64) to i384), i384 192), i384 425269881901436522087161771558896140289), i384 128) to i128), i128 64) to i64) to i192), i192 64), i192 1), i192 128) to i1) to i64), i64 1), i64 1), label %bb2, label %bb3 52*9880d681SAndroid Build Coastguard Worker 53*9880d681SAndroid Build Coastguard Workerbb2: ; preds = %bb1 54*9880d681SAndroid Build Coastguard Worker unreachable 55*9880d681SAndroid Build Coastguard Worker 56*9880d681SAndroid Build Coastguard Workerbb3: ; preds = %bb1, %bb 57*9880d681SAndroid Build Coastguard Worker br i1 xor (i1 trunc (i192 lshr (i192 or (i192 shl (i192 zext (i64 trunc (i128 lshr (i128 trunc (i384 lshr (i384 or (i384 shl (i384 zext (i64 ptrtoint ([2 x i8]* @global to i64) to i384), i384 192), i384 425269881901436522087161771558896140289), i384 128) to i128), i128 64) to i64) to i192), i192 64), i192 1), i192 128) to i1), i1 trunc (i192 lshr (i192 or (i192 and (i192 or (i192 shl (i192 zext (i64 trunc (i128 lshr (i128 trunc (i384 lshr (i384 or (i384 shl (i384 zext (i64 ptrtoint ([2 x i8]* @global to i64) to i384), i384 192), i384 425269881901436522087161771558896140289), i384 128) to i128), i128 64) to i64) to i192), i192 64), i192 1), i192 -340282366920938463463374607431768211457), i192 shl (i192 zext (i1 trunc (i192 lshr (i192 or (i192 shl (i192 zext (i64 trunc (i128 lshr (i128 trunc (i384 lshr (i384 or (i384 shl (i384 zext (i64 ptrtoint ([2 x i8]* @global to i64) to i384), i384 192), i384 425269881901436522087161771558896140289), i384 128) to i128), i128 64) to i64) to i192), i192 64), i192 1), i192 128) to i1) to i192), i192 128)), i192 128) to i1)), label %bb7, label %bb4 58*9880d681SAndroid Build Coastguard Worker 59*9880d681SAndroid Build Coastguard Workerbb4: ; preds = %bb6, %bb3 60*9880d681SAndroid Build Coastguard Worker %tmp = phi i1 [ true, %bb6 ], [ trunc (i192 lshr (i192 or (i192 and (i192 or (i192 shl (i192 zext (i64 trunc (i128 lshr (i128 trunc (i384 lshr (i384 or (i384 shl (i384 zext (i64 ptrtoint ([2 x i8]* @global to i64) to i384), i384 192), i384 425269881901436522087161771558896140289), i384 128) to i128), i128 64) to i64) to i192), i192 64), i192 1), i192 -340282366920938463463374607431768211457), i192 shl (i192 zext (i1 trunc (i192 lshr (i192 or (i192 shl (i192 zext (i64 trunc (i128 lshr (i128 trunc (i384 lshr (i384 or (i384 shl (i384 zext (i64 ptrtoint ([2 x i8]* @global to i64) to i384), i384 192), i384 425269881901436522087161771558896140289), i384 128) to i128), i128 64) to i64) to i192), i192 64), i192 1), i192 128) to i1) to i192), i192 128)), i192 128) to i1), %bb3 ] 61*9880d681SAndroid Build Coastguard Worker br i1 false, label %bb8, label %bb5 62*9880d681SAndroid Build Coastguard Worker 63*9880d681SAndroid Build Coastguard Workerbb5: ; preds = %bb4 64*9880d681SAndroid Build Coastguard Worker br i1 %tmp, label %bb8, label %bb6 65*9880d681SAndroid Build Coastguard Worker 66*9880d681SAndroid Build Coastguard Workerbb6: ; preds = %bb5 67*9880d681SAndroid Build Coastguard Worker br i1 false, label %bb8, label %bb4 68*9880d681SAndroid Build Coastguard Worker 69*9880d681SAndroid Build Coastguard Workerbb7: ; preds = %bb3 70*9880d681SAndroid Build Coastguard Worker unreachable 71*9880d681SAndroid Build Coastguard Worker 72*9880d681SAndroid Build Coastguard Workerbb8: ; preds = %bb6, %bb5, %bb4 73*9880d681SAndroid Build Coastguard Worker unreachable 74*9880d681SAndroid Build Coastguard Worker} 75