[InstCombine] Signed saturation tests. NFC
[llvm-complete.git] / test / Transforms / JumpThreading / PR33357-lvi-recursion.ll
blobe328f32c9c3b7c2593abd074f931e0e574254ed7
1 ; RUN: opt -S -jump-threading -verify -o - %s | FileCheck %s
2 @a = external global i16, align 1
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
17 bb1:
18   br label %bb2
20 bb2:
21   %1 = phi i1 [ %0, %bb1 ], [ %2, %bb4 ]
22   %2 = and i1 %1, undef
23   br i1 %2, label %bb3, label %bb4
25 bb3:
26   store i16 undef, i16* @a, align 1
27   br label %bb4
29 bb4:
30   br i1 %0, label %bb2, label %bb5
32 bb5:
33   unreachable
35 bb6:
36   ret void