1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py 2; RUN: opt < %s -simplifycfg -hoist-common-insts=true -S | FileCheck %s 3 4define void @foo(i1 %C, i32* %P) { 5; CHECK-LABEL: @foo( 6; CHECK-NEXT: store i32 7, i32* [[P:%.*]] 7; CHECK-NEXT: ret void 8; 9 br i1 %C, label %T, label %F 10T: ; preds = %0 11 store i32 7, i32* %P 12 ret void 13F: ; preds = %0 14 store i32 7, i32* %P 15 ret void 16} 17 18define float @PR39535min(float %x) { 19; CHECK-LABEL: @PR39535min( 20; CHECK-NEXT: entry: 21; CHECK-NEXT: [[TOBOOL:%.*]] = fcmp une float [[X:%.*]], 0.000000e+00 22; CHECK-NEXT: [[DOTX:%.*]] = select fast i1 [[TOBOOL]], float 0.000000e+00, float [[X]] 23; CHECK-NEXT: ret float [[DOTX]] 24; 25entry: 26 %tobool = fcmp une float %x, 0.0 27 br i1 %tobool, label %cond.true, label %cond.false 28 29cond.true: 30 br label %cond.end 31 32cond.false: 33 br label %cond.end 34 35cond.end: 36 %cond = phi fast float [ 0.0, %cond.true ], [ %x, %cond.false ] 37 ret float %cond 38} 39