os-rust/tests/codegen/issues/issue-86109-eliminate-div-by-zero-check.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

27 lines
556 B
Rust
Raw Permalink Normal View History

2024-10-26 03:58:30 +00:00
//@ 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
}