| //@ 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() {} |