[mips][microMIPS] This patch implements functionality in MIPS delay slot
authorJozef Kolek <jozef.kolek@imgtec.com>
Fri, 21 Nov 2014 22:04:35 +0000 (22:04 +0000)
committerJozef Kolek <jozef.kolek@imgtec.com>
Fri, 21 Nov 2014 22:04:35 +0000 (22:04 +0000)
commit3b8ddb665bb332f0dd484db44ec93da927caa7df
treecd7f6929c8cee6304bf9740e9eb3b243cf63bd49
parentfb0011cf1acae89c56447d13daf40fa43216d892
[mips][microMIPS] This patch implements functionality in MIPS delay slot
filler such as if delay slot filler have to put NOP instruction into the
delay slot of microMIPS BEQ or BNE instruction which uses the register $0,
then instead of emitting NOP this instruction is replaced by the corresponding
microMIPS compact branch instruction, i.e. BEQZC or BNEZC.

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

llvm-svn: 222580
llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
llvm/lib/Target/Mips/MipsLongBranch.cpp
llvm/lib/Target/Mips/MipsSEInstrInfo.cpp
llvm/test/CodeGen/Mips/micromips-atomic.ll
llvm/test/CodeGen/Mips/micromips-compact-branches.ll [new file with mode: 0644]