mirror of https://github.com/rust-lang/rust.git
40 lines
894 B
Rust
40 lines
894 B
Rust
//@ revisions: NONE TINY ALL
|
|
//@[NONE] compile-flags: -Zmir_strip_debuginfo=none
|
|
//@[TINY] compile-flags: -Zmir_strip_debuginfo=locals-in-tiny-functions
|
|
//@[ALL] compile-flags: -Zmir_strip_debuginfo=all-locals
|
|
|
|
// CHECK: fn tiny_function
|
|
fn tiny_function(end: u32) -> u32 {
|
|
// CHECK: debug end => _1;
|
|
// NONE: debug a =>
|
|
// NONE: debug b =>
|
|
// TINY-NOT: debug a =>
|
|
// TINY-NOT: debug b =>
|
|
// ALL-NOT: debug a =>
|
|
// ALL-NOT: debug b =>
|
|
let a = !end;
|
|
let b = a ^ 1;
|
|
b
|
|
}
|
|
|
|
#[inline(never)]
|
|
fn opaque(_: u32) {}
|
|
|
|
// CHECK: fn looping_function
|
|
fn looping_function(end: u32) {
|
|
// CHECK: debug end => _1;
|
|
// NONE: debug i =>
|
|
// NONE: debug x =>
|
|
// TINY: debug i =>
|
|
// TINY: debug x =>
|
|
// ALL-NOT: debug i =>
|
|
// ALL-NOT: debug x =>
|
|
let mut i = 0;
|
|
while i < end {
|
|
let x = i ^ 1;
|
|
opaque(x);
|
|
}
|
|
}
|
|
|
|
fn main() {}
|