Home | History | Annotate | Download | only in X86
      1 ; RUN: llc -mtriple=x86_64-apple-macosx10.5.0 < %s
      2 
      3 ; rdar://12968664
      4 
      5 define void @t() nounwind uwtable ssp {
      6   br label %4
      7 
      8 ; <label>:1                                       ; preds = %4, %2
      9   ret void
     10 
     11 ; <label>:2                                       ; preds = %6, %5, %3, %2
     12   switch i32 undef, label %2 [
     13     i32 1090573978, label %1
     14     i32 1090573938, label %3
     15     i32 1090573957, label %5
     16   ]
     17 
     18 ; <label>:3                                       ; preds = %4, %2
     19   br i1 undef, label %2, label %4
     20 
     21 ; <label>:4                                       ; preds = %6, %5, %3, %0
     22   switch i32 undef, label %11 [
     23     i32 1090573938, label %3
     24     i32 1090573957, label %5
     25     i32 1090573978, label %1
     26     i32 165205179, label %6
     27   ]
     28 
     29 ; <label>:5                                       ; preds = %4, %2
     30   br i1 undef, label %2, label %4
     31 
     32 ; <label>:6                                       ; preds = %4
     33   %7 = icmp eq i32 undef, 590901838
     34   %8 = or i1 false, %7
     35   %9 = or i1 true, %8
     36   %10 = xor i1 %8, %9
     37   br i1 %10, label %4, label %2
     38 
     39 ; <label>:11                                      ; preds = %11, %4
     40   br label %11
     41 }
     42 
     43 ; PR15608
     44 @global = external constant [2 x i8]
     45 
     46 define void @PR15608() {
     47 bb:
     48   br label %bb3
     49 
     50 bb1:                                              ; No predecessors!
     51   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 
     53 bb2:                                              ; preds = %bb1
     54   unreachable
     55 
     56 bb3:                                              ; preds = %bb1, %bb
     57   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 
     59 bb4:                                              ; preds = %bb6, %bb3
     60   %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   br i1 false, label %bb8, label %bb5
     62 
     63 bb5:                                              ; preds = %bb4
     64   br i1 %tmp, label %bb8, label %bb6
     65 
     66 bb6:                                              ; preds = %bb5
     67   br i1 false, label %bb8, label %bb4
     68 
     69 bb7:                                              ; preds = %bb3
     70   unreachable
     71 
     72 bb8:                                              ; preds = %bb6, %bb5, %bb4
     73   unreachable
     74 }
     75