[mips] The decision between GOT_DISP and GOT16 for global addresses depends on ABI rather than MIPS64

Summary: No functional change (for supported use cases)

Reviewers: matheusalmeida

Reviewed By: matheusalmeida

Differential Revision: http://llvm-reviews.chandlerc.com/D3191

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204922 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Daniel Sanders 2014-03-27 12:49:34 +00:00
parent 45889821e7
commit 38899fc4da

View File

@ -1523,8 +1523,8 @@ SDValue MipsTargetLowering::lowerGlobalAddress(SDValue Op,
MipsII::MO_GOT_LO16, DAG.getEntryNode(),
MachinePointerInfo::getGOT());
return getAddrGlobal(N, Ty, DAG,
hasMips64() ? MipsII::MO_GOT_DISP : MipsII::MO_GOT16,
return getAddrGlobal(N, Ty, DAG, (isN32() || isN64()) ? MipsII::MO_GOT_DISP
: MipsII::MO_GOT16,
DAG.getEntryNode(), MachinePointerInfo::getGOT());
}