OSDN Git Service

[mips] MIPSR6 Compact jump support
authorSimon Dardis <simon.dardis@imgtec.com>
Tue, 5 Apr 2016 12:50:29 +0000 (12:50 +0000)
committerSimon Dardis <simon.dardis@imgtec.com>
Tue, 5 Apr 2016 12:50:29 +0000 (12:50 +0000)
commit521f98ca011b65106d0c92e242b63260aa4cdf76
tree2f58d91e4116b31793a70f5cd434fcd784d9e232
parent515b87030bd154e88356d86a366b31a089de2f37
[mips] MIPSR6 Compact jump support

This patch adds support for compact jumps similiar to the previous compact
branch support for MIPSR6. Unlike compact branches, compact jumps do not
have a forbidden slot.

As MipsInstrInfo::getEquivalentCompactForm can determine the correct
expansion for jumps and branches for both microMIPS and MIPSR6, remove the
unnecessary distinction in the delay slot filler.

Reviewers: vkalintiris

Subscribers: llvm-commits, dsanders

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@265390 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/Mips/Mips32r6InstrInfo.td
lib/Target/Mips/Mips64r6InstrInfo.td
lib/Target/Mips/MipsDelaySlotFiller.cpp
lib/Target/Mips/MipsInstrInfo.cpp
test/CodeGen/Mips/compactbranches/compact-branches.ll
test/CodeGen/Mips/llvm-ir/call.ll
test/CodeGen/Mips/llvm-ir/indirectbr.ll
test/CodeGen/Mips/llvm-ir/ret.ll
test/CodeGen/Mips/mips64-f128.ll
test/MC/Mips/mips32r6/valid.s