[InstCombine] Signed saturation tests. NFC
[llvm-complete.git] / test / Transforms / HotColdSplit / split-cold-2.ll
blob0b228a58897ccf6858b3a3015fc30c28ded96dba
1 ; RUN: opt -hotcoldsplit -hotcoldsplit-threshold=-1 -pass-remarks=hotcoldsplit -S < %s 2>&1 | FileCheck %s
2 ; RUN: opt -passes=hotcoldsplit -hotcoldsplit-threshold=-1 -pass-remarks=hotcoldsplit -S < %s 2>&1 | FileCheck %s
4 ; Make sure this compiles. This test used to fail with an invalid phi node: the
5 ; two predecessors were outlined and the SSA representation was invalid.
7 ; CHECK: remark: <unknown>:0:0: fun split cold code into fun.cold.1
8 ; CHECK-LABEL: @fun
9 ; CHECK: codeRepl:
10 ; CHECK-NEXT: call void @fun.cold.1
12 ; CHECK: define {{.*}}@fun.cold.1{{.*}} [[cold_attr:#[0-9]+]]
13 ; CHECK: attributes [[cold_attr]] = { {{.*}}noreturn
15 define void @fun() {
16 entry:
17   br i1 undef, label %if.then, label %if.else
19 if.then:
20   ret void
22 if.else:
23   br label %if.then4
25 if.then4:
26   br i1 undef, label %if.then5, label %if.end
28 if.then5:
29   br label %cleanup
31 if.end:
32   br label %cleanup
34 cleanup:
35   %cleanup.dest.slot.0 = phi i32 [ 1, %if.then5 ], [ 0, %if.end ]
36   unreachable