[mips] Emit the .insn directive for empty basic blocks.
authorVasileios Kalintiris <Vasileios.Kalintiris@imgtec.com>
Fri, 8 May 2015 09:10:15 +0000 (09:10 +0000)
committerVasileios Kalintiris <Vasileios.Kalintiris@imgtec.com>
Fri, 8 May 2015 09:10:15 +0000 (09:10 +0000)
commitca33d726584c2cf169dae14a1f61328eae9e390a
treeadecba7cf83e600bd9dc690e024193311a0ef49e
parentb1e759524dd94f7ce1e24935daed8383927e96c1
[mips] Emit the .insn directive for empty basic blocks.

Summary:
In microMIPS, labels need to know whether they are on code or data. This is
indicated with STO_MIPS_MICROMIPS and can be inferred by being followed
by instructions. For empty basic blocks, we can ensure this by emitting the
.insn directive after the label.

Also, this fixes some failures in our out-of-tree microMIPS buildbots, for the
exception handling regression tests under: SingleSource/Regression/C++/EH

Reviewers: dsanders

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D9530

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@236815 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/Mips/MipsAsmPrinter.cpp
lib/Target/Mips/MipsAsmPrinter.h
test/CodeGen/Mips/insn-zero-size-bb.ll [new file with mode: 0644]