28 lines · plain
1; RUN: opt -passes=correlated-propagation -S %s | FileCheck %s2; CHECK-LABEL: @test-ashr3; CHECK: bb_then4; CHECK: %. = select i1 true, i32 3, i32 25define i32 @test-ashr(i32 %c) {6chk65:7 %cmp = icmp sgt i32 %c, 658 br i1 %cmp, label %return, label %chk09 10chk0:11 %cmp1 = icmp slt i32 %c, 012 br i1 %cmp, label %return, label %bb_if13 14bb_if:15 %ashr.val = ashr exact i32 %c, 216 %cmp2 = icmp sgt i32 %ashr.val, 1517 br i1 %cmp2, label %bb_then, label %return18 19bb_then:20 %cmp3 = icmp eq i32 %ashr.val, 1621 %. = select i1 %cmp3, i32 3, i32 222 br label %return23 24return:25 %retval = phi i32 [0, %chk65], [1, %chk0], [%., %bb_then], [4, %bb_if]26 ret i32 %retval27}28