• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
5define i32 @test-ashr(i32 %c) {
6chk65:
7  %cmp = icmp sgt i32 %c, 65
8  br i1 %cmp, label %return, label %chk0
9
10chk0:
11  %cmp1 = icmp slt i32 %c, 0
12  br i1 %cmp, label %return, label %bb_if
13
14bb_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
19bb_then:
20  %cmp3 = icmp eq i32 %ashr.val, 16
21  %. = select i1 %cmp3, i32 3, i32 2
22  br label %return
23
24return:
25  %retval = phi i32 [0, %chk65], [1, %chk0], [%., %bb_then], [4, %bb_if]
26  ret i32 %retval
27}
28