Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / Transforms / HotColdSplit / stale-assume-in-original-func.ll
blob8a10daf10fc7efa966e6c4e8ea497d8862174c5a
1 ; RUN: opt -S -passes=hotcoldsplit -hotcoldsplit-threshold=-1 < %s 2>&1 | FileCheck %s
3 ; CHECK-LABEL: define {{.*}} @foo(
4 ; CHECK-NOT: llvm.assume
5 ; CHECK: call void @foo.cold.1()
6 ; CHECK: llvm.assume
7 ; CHECK-NEXT: ret void
9 ; CHECK-LABEL: define {{.*}} @foo.cold.1(
10 ; CHECK-NOT: llvm.assume
11 ; CHECK: call void @cold()
12 ; CHECK-NOT: llvm.assume
13 ; CHECK: }
15 define void @foo(i1 %cond) {
16 entry:
17   br i1 %cond, label %cold, label %cont
19 cold:
20   call void @llvm.assume(i1 %cond)
21   call void @cold()
22   br label %cont
24 cont:
25   %cmp = icmp eq i1 %cond, true
26   br i1 %cmp, label %exit1, label %exit2
28 exit1:
29   call void @llvm.assume(i1 %cond)
30   ret void
32 exit2:
33   ret void
36 declare void @llvm.assume(i1)
38 declare void @cold() cold