Home | History | Annotate | Download | only in Mips
      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 -mattr=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 }
     28