1 ; RUN: opt < %s -simplifycfg -S | FileCheck %s
3 define i32 @foo(i32 %x) optforfuzzing {
5 %x.addr = alloca i32, align 4
6 store i32 %x, i32* %x.addr, align 4
7 %0 = load i32, i32* %x.addr, align 4
8 %cmp = icmp sgt i32 %0, 16
9 br i1 %cmp, label %land.rhs, label %land.end
12 %1 = load i32, i32* %x.addr, align 4
13 %cmp1 = icmp slt i32 %1, 32
17 %2 = phi i1 [ false, %entry ], [ %cmp1, %land.rhs ]
18 %conv = zext i1 %2 to i32
21 ; CHECK-LABEL: define i32 @foo(i32 %x)
22 ; CHECK: br i1 %cmp, label %land.rhs, label %land.end
23 ; CHECK-LABEL: land.rhs:
24 ; CHECK: br label %land.end
25 ; CHECK-LABEL: land.end:
26 ; CHECK: phi {{.*}} %entry {{.*}} %land.rhs
29 define i32 @bar(i32 %x) {
31 %x.addr = alloca i32, align 4
32 store i32 %x, i32* %x.addr, align 4
33 %0 = load i32, i32* %x.addr, align 4
34 %cmp = icmp sgt i32 %0, 16
35 br i1 %cmp, label %land.rhs, label %land.end
38 %1 = load i32, i32* %x.addr, align 4
39 %cmp1 = icmp slt i32 %1, 32
43 %2 = phi i1 [ false, %entry ], [ %cmp1, %land.rhs ]
44 %conv = zext i1 %2 to i32
47 ; CHECK-LABEL: define i32 @bar(i32 %x)