; NOTE: Assertions have been autogenerated by utils/update_test_checks.py ; RUN: opt < %s -simplifycfg -S | FileCheck %s ; RUN: opt < %s -passes=simplifycfg -S | FileCheck %s declare void @foo() ; FIXME: We can replace %phi with true. define void @test_01(i1 %cond) { ; CHECK-LABEL: @test_01( ; CHECK-NEXT: entry: ; CHECK-NEXT: [[DOT:%.*]] = select i1 [[COND:%.*]], i1 true, i1 undef ; CHECK-NEXT: br i1 [[DOT]], label [[RET_1:%.*]], label [[COMMON_RET:%.*]] ; CHECK: common.ret: ; CHECK-NEXT: ret void ; CHECK: ret_1: ; CHECK-NEXT: call void @foo() ; CHECK-NEXT: br label [[COMMON_RET]] ; entry: br i1 %cond, label %if.true, label %if.false if.true: br label %merge if.false: br label %merge merge: %phi = phi i1 [true, %if.true], [undef, %if.false] br i1 %phi, label %ret_1, label %ret_2 ret_1: call void @foo() ret void ret_2: ret void }