Home | History | Annotate | Download | only in LazyValueAnalysis
      1 ; RUN: opt -correlated-propagation -S %s | FileCheck %s
      2 ; CHECK-LABEL: @test-ashr
      3 ; CHECK: bb_then
      4 ; CHECK:  %. = select i1 true, i32 3, i32 2
      5 define i32 @test-ashr(i32 %c) {
      6 chk65:
      7   %cmp = icmp sgt i32 %c, 65
      8   br i1 %cmp, label %return, label %chk0
      9 
     10 chk0:
     11   %cmp1 = icmp slt i32 %c, 0
     12   br i1 %cmp, label %return, label %bb_if
     13 
     14 bb_if:
     15   %ashr.val = ashr exact i32 %c, 2
     16   %cmp2 = icmp sgt i32 %ashr.val, 15
     17   br i1 %cmp2, label %bb_then, label %return
     18 
     19 bb_then:
     20   %cmp3 = icmp eq i32 %ashr.val, 16
     21   %. = select i1 %cmp3, i32 3, i32 2
     22   br label %return
     23 
     24 return:
     25   %retval = phi i32 [0, %chk65], [1, %chk0], [%., %bb_then], [4, %bb_if]
     26   ret i32 %retval
     27 }
     28