Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / Transforms / HotColdSplit / split-cold-2.ll
blob44dfd6b668a3d8b3de19d4e1a005dcc7420282ae
1 ; RUN: opt -passes=hotcoldsplit -hotcoldsplit-threshold=-1 -pass-remarks=hotcoldsplit -S < %s 2>&1 | FileCheck %s
3 ; Make sure this compiles. This test used to fail with an invalid phi node: the
4 ; two predecessors were outlined and the SSA representation was invalid.
6 ; CHECK: remark: <unknown>:0:0: fun split cold code into fun.cold.1
7 ; CHECK-LABEL: @fun
8 ; CHECK: codeRepl:
9 ; CHECK-NEXT: call void @fun.cold.1
11 ; CHECK: define internal {{.*}}@fun.cold.1{{.*}} [[cold_attr:#[0-9]+]]
12 ; CHECK: attributes [[cold_attr]] = { {{.*}}noreturn
14 define void @fun() {
15 entry:
16   br i1 undef, label %if.then, label %if.else
18 if.then:
19   ret void
21 if.else:
22   br label %if.then4
24 if.then4:
25   br i1 undef, label %if.then5, label %if.end
27 if.then5:
28   br label %cleanup
30 if.end:
31   br label %cleanup
33 cleanup:
34   %cleanup.dest.slot.0 = phi i32 [ 1, %if.then5 ], [ 0, %if.end ]
35   unreachable