[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)
commite41db2fe31d3c7d4656ff2e84830ce2f0a7645b9
treea3f52a58639a17223b77bc4f5d9e9724aae1875b
parent482097d0981642624a727ba83b4926082f44982f
[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

llvm-svn: 209678
llvm/lib/Target/Mips/Mips64InstrInfo.td
llvm/lib/Target/Mips/MipsAsmPrinter.cpp
llvm/lib/Target/Mips/MipsLongBranch.cpp
llvm/lib/Target/Mips/MipsMCInstLower.cpp
llvm/lib/Target/Mips/MipsMCInstLower.h
llvm/test/CodeGen/Mips/longbranch.ll