[mips] Optimize long branch for MIPS64 by removing %higher and %highest.
authorSasa Stankovic <Sasa.Stankovic@imgtec.com>
Tue, 27 May 2014 18:53:06 +0000 (18:53 +0000)
committerSasa Stankovic <Sasa.Stankovic@imgtec.com>
Tue, 27 May 2014 18:53:06 +0000 (18:53 +0000)
commit95ce098219b204612be7595a94a382d5cab6eea4
tree80ef49bd60749ac8336e6a7e900c20eb53485102
parent41087d99df6ed87405639a6ee1a4bc7b825d4b65
[mips] Optimize long branch for MIPS64 by removing %higher and %highest.
%higher and %highest can have non-zero values only for offsets greater
than 2GB, which is highly unlikely, if not impossible when compiling a
single function. This makes long branch for MIPS64 3 instructions smaller.

Differential Revision: http://llvm-reviews.chandlerc.com/D3281.diff

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209678 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/Mips/Mips64InstrInfo.td
lib/Target/Mips/MipsAsmPrinter.cpp
lib/Target/Mips/MipsLongBranch.cpp
lib/Target/Mips/MipsMCInstLower.cpp
lib/Target/Mips/MipsMCInstLower.h
test/CodeGen/Mips/longbranch.ll