Skip to content

Commit 9d7d846

Browse files
committed
initial tests
1 parent 3aef65d commit 9d7d846

File tree

2 files changed

+60
-0
lines changed

2 files changed

+60
-0
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
// compile-flags: -O
2+
#![crate_type = "lib"]
3+
4+
#[inline(never)]
5+
#[no_mangle]
6+
pub fn hot_function() {
7+
println!("hot");
8+
}
9+
10+
#[inline(never)]
11+
#[no_mangle]
12+
pub fn cold_function() {
13+
println!("cold");
14+
}
15+
16+
#[no_mangle]
17+
pub fn f(x: bool) {
18+
match x {
19+
true => hot_function(),
20+
#[cold] false => cold_function(),
21+
}
22+
}
23+
24+
// CHECK-LABEL: @f(
25+
// CHECK: br i1 %x, label %bb2, label %bb1, !prof ![[NUM:[0-9]+]]
26+
// CHECK: bb1:
27+
// CHECK: cold_function
28+
// CHECK: bb2:
29+
// CHECK: hot_function
30+
// CHECK: ![[NUM]] = !{!"branch_weights", i32 2000, i32 1}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
// compile-flags: -O
2+
#![crate_type = "lib"]
3+
4+
#[inline(never)]
5+
#[no_mangle]
6+
pub fn hot_function() {
7+
println!("hot");
8+
}
9+
10+
#[inline(never)]
11+
#[no_mangle]
12+
pub fn cold_function() {
13+
println!("cold");
14+
}
15+
16+
#[no_mangle]
17+
pub fn f(x: bool) {
18+
match x {
19+
#[cold] true => cold_function(),
20+
false => hot_function(),
21+
}
22+
}
23+
24+
// CHECK-LABEL: @f(
25+
// CHECK: br i1 %x, label %bb2, label %bb1, !prof ![[NUM:[0-9]+]]
26+
// CHECK: bb1:
27+
// CHECK: hot_function
28+
// CHECK: bb2:
29+
// CHECK: cold_function
30+
// CHECK: ![[NUM]] = !{!"branch_weights", i32 1, i32 2000}

0 commit comments

Comments
 (0)