Home | History | Annotate | Download | only in JumpThreading
      1 ; RUN: opt -jump-threading -simplifycfg -S < %s | FileCheck %s
      2 ; CHECK-NOT: bb6:
      3 ; CHECK-NOT: bb7:
      4 ; CHECK-NOT: bb8:
      5 ; CHECK-NOT: bb11:
      6 ; CHECK-NOT: bb12:
      7 ; CHECK: bb:
      8 ; CHECK: bb2:
      9 ; CHECK: bb4:
     10 ; CHECK: bb10:
     11 ; CHECK: bb13:
     12 declare void @ham()
     13 
     14 define void @hoge() {
     15 bb:
     16   %tmp = and i32 undef, 1073741823
     17   %tmp1 = icmp eq i32 %tmp, 2
     18   br i1 %tmp1, label %bb12, label %bb2
     19 
     20 bb2:
     21   %tmp3 = icmp eq i32 %tmp, 3
     22   br i1 %tmp3, label %bb13, label %bb4
     23 
     24 bb4:
     25   %tmp5 = icmp eq i32 %tmp, 5
     26   br i1 %tmp5, label %bb6, label %bb7
     27 
     28 bb6:
     29   tail call void @ham()
     30   br label %bb7
     31 
     32 bb7:
     33   br i1 %tmp3, label %bb13, label %bb8
     34 
     35 bb8:
     36   %tmp9 = icmp eq i32 %tmp, 4
     37   br i1 %tmp9, label %bb13, label %bb10
     38 
     39 bb10:
     40   br i1 %tmp9, label %bb11, label %bb13
     41 
     42 bb11:
     43   br label %bb13
     44 
     45 bb12:
     46   br label %bb2
     47 
     48 bb13:
     49   ret void
     50 }
     51