[InstCombine] Signed saturation tests. NFC
[llvm-complete.git] / test / Transforms / HotColdSplit / apply-successor-penalty.ll
blob3886d76da01699e8e1a88ba826604b7cc0425dea
1 ; REQUIRES: asserts
2 ; RUN: opt -hotcoldsplit -debug-only=hotcoldsplit -S < %s -o /dev/null 2>&1 | FileCheck %s
4 declare void @sink() cold
6 ; CHECK-LABEL: Outlining in one_non_region_successor
7 define void @one_non_region_successor(i32 %arg) {
8 entry:
9   br i1 undef, label %cold1, label %exit
11 cold1:
12   ; CHECK: Applying penalty for: 1 non-region successor
13   call void @sink()
14   br i1 undef, label %cold2, label %cold3
16 cold2:
17   br i1 undef, label %cold4, label %exit
19 cold3:
20   br i1 undef, label %cold4, label %exit
22 cold4:
23   unreachable
25 exit:
26   ret void
29 ; CHECK-LABEL: Outlining in two_non_region_successor
30 define void @two_non_region_successors(i32 %arg) {
31 entry:
32   br i1 undef, label %cold1, label %exit1
34 cold1:
35   ; CHECK: Applying penalty for: 2 non-region successors
36   call void @sink()
37   br i1 undef, label %cold2, label %cold3
39 cold2:
40   br i1 undef, label %cold4, label %exit1
42 cold3:
43   br i1 undef, label %cold4, label %exit2
45 cold4:
46   unreachable
48 exit1:
49   br label %exit2
51 exit2:
52   ret void