ea61c994ae1d953795b4bf9bd22f9c3c1952a000
[oota-llvm.git] / test / CodeGen / Mips / insn-zero-size-bb.ll
1 ; RUN: llc < %s -march=mips -mcpu=mips32 | FileCheck %s
2 ; RUN: llc < %s -march=mips -mcpu=mips32r3 -mattr=+micromips | FileCheck %s
3 ; RUN: llc < %s -march=mips -mcpu=mips16 | FileCheck %s
4
5 ; Verify that we emit the .insn directive for zero-sized (empty) basic blocks.
6 ; This only really matters for microMIPS and MIPS16.
7
8 declare i32 @foo(...)
9 declare void @bar()
10
11 define void @main() personality i8* bitcast (i32 (...)* @foo to i8*) {
12 entry:
13   invoke void @bar() #0
14           to label %unreachable unwind label %return
15
16 unreachable:
17 ; CHECK:          ${{.*}}: # %unreachable
18 ; CHECK-NEXT:         .insn
19   unreachable
20
21 return:
22   %0 = landingpad { i8*, i32 }
23           catch i8* null
24   ret void
25 }
26
27 attributes #0 = { noreturn }