• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: opt -S -hotcoldsplit -hotcoldsplit-threshold=-1 < %s 2>&1 | FileCheck %s
2
3; CHECK-LABEL: define {{.*}}@fun
4; CHECK: call {{.*}}@fun.cold.2(
5; CHECK-NEXT: ret void
6; CHECK: call {{.*}}@fun.cold.1(
7; CHECK-NEXT: ret void
8define void @fun() {
9entry:
10  br i1 undef, label %A.then, label %A.else
11
12A.else:
13  br label %A.then4
14
15A.then4:
16  br i1 undef, label %A.then5, label %A.end
17
18A.then5:
19  br label %A.cleanup
20
21A.end:
22  br label %A.cleanup
23
24A.cleanup:
25  %A.cleanup.dest.slot.0 = phi i32 [ 1, %A.then5 ], [ 0, %A.end ]
26  unreachable
27
28A.then:
29  br i1 undef, label %B.then, label %B.else
30
31B.then:
32  ret void
33
34B.else:
35  br label %B.then4
36
37B.then4:
38  br i1 undef, label %B.then5, label %B.end
39
40B.then5:
41  br label %B.cleanup
42
43B.end:
44  br label %B.cleanup
45
46B.cleanup:
47  %B.cleanup.dest.slot.0 = phi i32 [ 1, %B.then5 ], [ 0, %B.end ]
48  unreachable
49}
50
51; CHECK-LABEL: define {{.*}}@fun.cold.1(
52; CHECK: %B.cleanup.dest.slot.0 = phi i32 [ 1, %B.then5 ], [ 0, %B.end ]
53; CHECK-NEXT: unreachable
54
55; CHECK-LABEL: define {{.*}}@fun.cold.2(
56; CHECK: %A.cleanup.dest.slot.0 = phi i32 [ 1, %A.then5 ], [ 0, %A.end ]
57; CHECK-NEXT: unreachable
58