// This test checks an optimization that is not guaranteed to work. This test case should not block | |
// a future LLVM update. | |
//@ compile-flags: -O | |
#![crate_type = "lib"] | |
pub enum Bar { | |
A = 1, | |
B = 3, | |
} | |
// CHECK-LABEL: @lookup_inc | |
#[no_mangle] | |
pub fn lookup_inc(buf: &[u8; 5], f: Bar) -> u8 { | |
// CHECK-NOT: panic_bounds_check | |
buf[f as usize + 1] | |
} | |
// CHECK-LABEL: @lookup_dec | |
#[no_mangle] | |
pub fn lookup_dec(buf: &[u8; 5], f: Bar) -> u8 { | |
// CHECK-NOT: panic_bounds_check | |
buf[f as usize - 1] | |
} |