#![feature(llvm_asm)] | |
enum Empty {} | |
fn empty() -> Option<Empty> { | |
None | |
} | |
// EMIT_MIR unreachable_asm.main.UnreachablePropagation.diff | |
fn main() { | |
if let Some(_x) = empty() { | |
let mut _y; | |
if true { | |
_y = 21; | |
} else { | |
_y = 42; | |
} | |
// asm instruction stops unreachable propagation to if else blocks bb4 and bb5. | |
unsafe { llvm_asm!("NOP"); } | |
match _x { } | |
} | |
} |