Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / Analysis / LazyValueAnalysis / lvi-for-ashr.ll
blob4b2765cb632ac8234b54f48ed54d4840a06a44c9
1 ; RUN: opt -passes=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
10 chk0:
11   %cmp1 = icmp slt i32 %c, 0
12   br i1 %cmp, label %return, label %bb_if
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
19 bb_then:
20   %cmp3 = icmp eq i32 %ashr.val, 16
21   %. = select i1 %cmp3, i32 3, i32 2
22   br label %return
24 return:
25   %retval = phi i32 [0, %chk65], [1, %chk0], [%., %bb_then], [4, %bb_if]
26   ret i32 %retval