xref: /llvm-project/llvm/test/Transforms/SimplifyCFG/merge-empty-return-blocks.ll (revision 07b9d231ff9baa6473b0dd588a3ce5330d3e4871)
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2; RUN: opt -passes=simplifycfg -simplifycfg-require-and-preserve-domtree=1 -S < %s | FileCheck %s
3
4define void @t0(i1 %c) {
5; CHECK-LABEL: @t0(
6; CHECK-NEXT:  entry:
7; CHECK-NEXT:    ret void
8;
9entry:
10  br i1 %c, label %end0, label %end1
11
12end0:
13  ret void
14
15end1:
16  ret void
17}
18
19define i8 @t1(i1 %c, i8 %v) {
20; CHECK-LABEL: @t1(
21; CHECK-NEXT:  entry:
22; CHECK-NEXT:    ret i8 [[V:%.*]]
23;
24entry:
25  br i1 %c, label %end0, label %end1
26
27end0:
28  ret i8 %v
29
30end1:
31  ret i8 %v
32}
33
34define i8 @t2(i1 %c, i8 %v0, i8 %v1) {
35; CHECK-LABEL: @t2(
36; CHECK-NEXT:  entry:
37; CHECK-NEXT:    [[V0_V1:%.*]] = select i1 [[C:%.*]], i8 [[V0:%.*]], i8 [[V1:%.*]]
38; CHECK-NEXT:    ret i8 [[V0_V1]]
39;
40entry:
41  br i1 %c, label %end0, label %end1
42
43end0:
44  ret i8 %v0
45
46end1:
47  ret i8 %v1
48}
49