Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / Transforms / SimplifyCFG / undef_phi.ll
blobaba70ff73b8eb4f660f4aaf258966f7d007ad98a
1 ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2 ; RUN: opt < %s -passes=simplifycfg -S | FileCheck %s
4 declare void @foo()
6 ; FIXME: We can replace %phi with true.
7 define void @test_01(i1 %cond) {
8 ; CHECK-LABEL: @test_01(
9 ; CHECK-NEXT:  entry:
10 ; CHECK-NEXT:    [[DOT:%.*]] = select i1 [[COND:%.*]], i1 true, i1 undef
11 ; CHECK-NEXT:    br i1 [[DOT]], label [[RET_1:%.*]], label [[COMMON_RET:%.*]]
12 ; CHECK:       common.ret:
13 ; CHECK-NEXT:    ret void
14 ; CHECK:       ret_1:
15 ; CHECK-NEXT:    call void @foo()
16 ; CHECK-NEXT:    br label [[COMMON_RET]]
18 entry:
19   br i1 %cond, label %if.true, label %if.false
21 if.true:
22   br label %merge
24 if.false:
25   br label %merge
27 merge:
28   %phi = phi i1 [true, %if.true], [undef, %if.false]
29   br i1 %phi, label %ret_1, label %ret_2
31 ret_1:
32   call void @foo()
33   ret void
35 ret_2:
36   ret void