27 lines
556 B
Rust
27 lines
556 B
Rust
//@ compile-flags: -O
|
|
//! Test for https://github.com/rust-lang/rust/issues/86109
|
|
//! Check LLVM can eliminate the impossible division by zero check by
|
|
//! ensuring there is no call (to panic) instruction.
|
|
//!
|
|
//! This has been fixed since `rustc 1.70.0`.
|
|
|
|
#![crate_type = "lib"]
|
|
|
|
type T = i16;
|
|
|
|
// CHECK-LABEL: @foo
|
|
#[no_mangle]
|
|
pub fn foo(start: T) -> T {
|
|
// CHECK-NOT: panic
|
|
if start <= 0 {
|
|
return 0;
|
|
}
|
|
let mut count = 0;
|
|
for i in start..10_000 {
|
|
if 752 % i != 0 {
|
|
count += 1;
|
|
}
|
|
}
|
|
count
|
|
}
|