blob: 66ab12083de1a1fde5a180c99278963d3e109e92 [file] [log] [blame] [edit]
; RUN: llc < %s -O0 -verify-machineinstrs
target triple = "wasm32-unknown-unknown"
; Regression test for #184441.
; Ensures that the orphanation of block %b due to the eliding of the
; `unreachable` default label of the switch during IR => DAG translation
; (without any subsequent DCE) doesn't trip our assertions in
; WebAssemblyFixIrreducibleControlFlow, which expect all blocks in a function
; to be reachable from the function's entry.
define void @test() {
entry:
switch i32 poison, label %b [
i32 0, label %a
]
a:
ret void
b:
unreachable
}