1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py 2; RUN: opt < %s -simplifycfg -S | FileCheck %s 3; RUN: opt < %s -passes=simplifycfg -S | FileCheck %s 4 5declare void @foo() 6 7; FIXME: We can replace %phi with true. 8define void @test_01(i1 %cond) { 9; CHECK-LABEL: @test_01( 10; CHECK-NEXT: entry: 11; CHECK-NEXT: [[DOT:%.*]] = select i1 [[COND:%.*]], i1 true, i1 undef 12; CHECK-NEXT: br i1 [[DOT]], label [[RET_1:%.*]], label [[COMMON_RET:%.*]] 13; CHECK: common.ret: 14; CHECK-NEXT: ret void 15; CHECK: ret_1: 16; CHECK-NEXT: call void @foo() 17; CHECK-NEXT: br label [[COMMON_RET]] 18; 19entry: 20 br i1 %cond, label %if.true, label %if.false 21 22if.true: 23 br label %merge 24 25if.false: 26 br label %merge 27 28merge: 29 %phi = phi i1 [true, %if.true], [undef, %if.false] 30 br i1 %phi, label %ret_1, label %ret_2 31 32ret_1: 33 call void @foo() 34 ret void 35 36ret_2: 37 ret void 38} 39