1; RUN: opt -S -hotcoldsplit -hotcoldsplit-threshold=-1 < %s 2>&1 | FileCheck %s 2 3; CHECK-LABEL: define {{.*}}@fun 4; CHECK: call {{.*}}@fun.cold.2( 5; CHECK-NEXT: ret void 6; CHECK: call {{.*}}@fun.cold.1( 7; CHECK-NEXT: ret void 8define void @fun() { 9entry: 10 br i1 undef, label %A.then, label %A.else 11 12A.else: 13 br label %A.then4 14 15A.then4: 16 br i1 undef, label %A.then5, label %A.end 17 18A.then5: 19 br label %A.cleanup 20 21A.end: 22 br label %A.cleanup 23 24A.cleanup: 25 %A.cleanup.dest.slot.0 = phi i32 [ 1, %A.then5 ], [ 0, %A.end ] 26 unreachable 27 28A.then: 29 br i1 undef, label %B.then, label %B.else 30 31B.then: 32 ret void 33 34B.else: 35 br label %B.then4 36 37B.then4: 38 br i1 undef, label %B.then5, label %B.end 39 40B.then5: 41 br label %B.cleanup 42 43B.end: 44 br label %B.cleanup 45 46B.cleanup: 47 %B.cleanup.dest.slot.0 = phi i32 [ 1, %B.then5 ], [ 0, %B.end ] 48 unreachable 49} 50 51; CHECK-LABEL: define {{.*}}@fun.cold.1( 52; CHECK: %B.cleanup.dest.slot.0 = phi i32 [ 1, %B.then5 ], [ 0, %B.end ] 53; CHECK-NEXT: unreachable 54 55; CHECK-LABEL: define {{.*}}@fun.cold.2( 56; CHECK: %A.cleanup.dest.slot.0 = phi i32 [ 1, %A.then5 ], [ 0, %A.end ] 57; CHECK-NEXT: unreachable 58