Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / Transforms / SimplifyCFG / opt-for-fuzzing.ll
blobeb2893c7ae6778844caf33d91280ed70dd4040c7
1 ; RUN: opt < %s -passes=simplifycfg -simplifycfg-require-and-preserve-domtree=1 -S | FileCheck %s
2 ; RUN: opt < %s -passes=simplifycfg -S | FileCheck %s
4 define i32 @foo(i32 %x) optforfuzzing {
5 entry:
6   %x.addr = alloca i32, align 4
7   store i32 %x, ptr %x.addr, align 4
8   %0 = load i32, ptr %x.addr, align 4
9   %cmp = icmp sgt i32 %0, 16
10   br i1 %cmp, label %land.rhs, label %land.end
12 land.rhs:
13   %1 = load i32, ptr %x.addr, align 4
14   %cmp1 = icmp slt i32 %1, 32
15   br label %land.end
17 land.end:
18   %2 = phi i1 [ false, %entry ], [ %cmp1, %land.rhs ]
19   %conv = zext i1 %2 to i32
20   ret i32 %conv
22 ; CHECK-LABEL: define i32 @foo(i32 %x)
23 ; CHECK: br i1 %cmp, label %land.rhs, label %land.end
24 ; CHECK-LABEL: land.rhs:
25 ; CHECK: br label %land.end
26 ; CHECK-LABEL: land.end:
27 ; CHECK: phi {{.*}} %entry {{.*}} %land.rhs
30 define i32 @bar(i32 %x) {
31 entry:
32   %x.addr = alloca i32, align 4
33   store i32 %x, ptr %x.addr, align 4
34   %0 = load i32, ptr %x.addr, align 4
35   %cmp = icmp sgt i32 %0, 16
36   br i1 %cmp, label %land.rhs, label %land.end
38 land.rhs:
39   %1 = load i32, ptr %x.addr, align 4
40   %cmp1 = icmp slt i32 %1, 32
41   br label %land.end
43 land.end:
44   %2 = phi i1 [ false, %entry ], [ %cmp1, %land.rhs ]
45   %conv = zext i1 %2 to i32
46   ret i32 %conv
48 ; CHECK-LABEL: define i32 @bar(i32 %x)
49 ; CHECK-NOT: br