Home | History | Annotate | Download | only in JumpThreading
      1 ; RUN: opt -S -jump-threading -verify -o - %s | FileCheck %s
      2 @a = external global i16, align 1
      3 
      4 ; CHECK-LABEL: f
      5 ; CHECK: bb6:
      6 ; CHECK: bb2:
      7 ; CHECK: bb3:
      8 ; CHECK-NOT: bb0:
      9 ; CHECK-NOT: bb1:
     10 ; CHECK-NOT: bb4:
     11 ; CHECK-NOT: bb5:
     12 define void @f(i32 %p1) {
     13 bb0:
     14   %0 = icmp eq i32 %p1, 0
     15   br i1 undef, label %bb6, label %bb1
     16 
     17 bb1:
     18   br label %bb2
     19 
     20 bb2:
     21   %1 = phi i1 [ %0, %bb1 ], [ %2, %bb4 ]
     22   %2 = and i1 %1, undef
     23   br i1 %2, label %bb3, label %bb4
     24 
     25 bb3:
     26   store i16 undef, i16* @a, align 1
     27   br label %bb4
     28 
     29 bb4:
     30   br i1 %0, label %bb2, label %bb5
     31 
     32 bb5:
     33   unreachable
     34 
     35 bb6:
     36   ret void
     37 }
     38