diff options
Diffstat (limited to 'tests/codegen/intrinsics/cold_path3.rs')
| -rw-r--r-- | tests/codegen/intrinsics/cold_path3.rs | 87 | 
1 files changed, 0 insertions, 87 deletions
diff --git a/tests/codegen/intrinsics/cold_path3.rs b/tests/codegen/intrinsics/cold_path3.rs deleted file mode 100644 index bf3347de665..00000000000 --- a/tests/codegen/intrinsics/cold_path3.rs +++ /dev/null @@ -1,87 +0,0 @@ -//@ compile-flags: -O -#![crate_type = "lib"] -#![feature(core_intrinsics)] - -use std::intrinsics::cold_path; - -#[inline(never)] -#[no_mangle] -pub fn path_a() { - println!("path a"); -} - -#[inline(never)] -#[no_mangle] -pub fn path_b() { - println!("path b"); -} - -#[inline(never)] -#[no_mangle] -pub fn path_c() { - println!("path c"); -} - -#[inline(never)] -#[no_mangle] -pub fn path_d() { - println!("path d"); -} - -#[no_mangle] -pub fn test(x: Option<u32>) { - match x { - Some(0) => path_a(), - Some(1) => { - cold_path(); - path_b() - } - Some(2) => path_c(), - Some(3) => { - cold_path(); - path_d() - } - _ => path_a(), - } - - // CHECK-LABEL: @test( - // CHECK: switch i32 %1, label %bb1 [ - // CHECK: i32 0, label %bb6 - // CHECK: i32 1, label %bb5 - // CHECK: i32 2, label %bb4 - // CHECK: i32 3, label %bb3 - // CHECK: ], !prof ![[NUM1:[0-9]+]] -} - -#[no_mangle] -pub fn test2(x: Option<u32>) { - match x { - Some(10) => path_a(), - Some(11) => { - cold_path(); - path_b() - } - Some(12) => { - unsafe { core::intrinsics::unreachable() }; - path_c() - } - Some(13) => { - cold_path(); - path_d() - } - _ => { - cold_path(); - path_a() - } - } - - // CHECK-LABEL: @test2( - // CHECK: switch i32 %1, label %bb1 [ - // CHECK: i32 10, label %bb5 - // CHECK: i32 11, label %bb4 - // CHECK: i32 13, label %bb3 - // CHECK: ], !prof ![[NUM2:[0-9]+]] -} - -// CHECK: ![[NUM1]] = !{!"branch_weights", i32 2000, i32 2000, i32 1, i32 2000, i32 1} -// CHECK: ![[NUM2]] = !{!"branch_weights", i32 1, i32 2000, i32 1, i32 1}  | 
