1; REQUIRES: asserts 2; RUN: opt -hotcoldsplit -debug-only=hotcoldsplit -S < %s -o /dev/null 2>&1 | FileCheck %s 3 4declare void @sink() cold 5 6; CHECK-LABEL: Outlining in one_non_region_successor 7define void @one_non_region_successor(i32 %arg) { 8entry: 9 br i1 undef, label %cold1, label %exit 10 11cold1: 12 ; CHECK: Applying penalty for: 1 non-region successor 13 call void @sink() 14 br i1 undef, label %cold2, label %cold3 15 16cold2: 17 br i1 undef, label %cold4, label %exit 18 19cold3: 20 br i1 undef, label %cold4, label %exit 21 22cold4: 23 unreachable 24 25exit: 26 ret void 27} 28 29; CHECK-LABEL: Outlining in two_non_region_successor 30define void @two_non_region_successors(i32 %arg) { 31entry: 32 br i1 undef, label %cold1, label %exit1 33 34cold1: 35 ; CHECK: Applying penalty for: 2 non-region successors 36 call void @sink() 37 br i1 undef, label %cold2, label %cold3 38 39cold2: 40 br i1 undef, label %cold4, label %exit1 41 42cold3: 43 br i1 undef, label %cold4, label %exit2 44 45cold4: 46 unreachable 47 48exit1: 49 br label %exit2 50 51exit2: 52 ret void 53} 54