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

Daniel Sanders daniel.sanders at imgtec.com
Thu Mar 27 05:49:34 PDT 2014


Author: dsanders
Date: Thu Mar 27 07:49:34 2014
New Revision: 204922

URL: http://llvm.org/viewvc/llvm-project?rev=204922&view=rev
Log:
[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

Modified:
    llvm/trunk/lib/Target/Mips/MipsISelLowering.cpp

Modified: llvm/trunk/lib/Target/Mips/MipsISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MipsISelLowering.cpp?rev=204922&r1=204921&r2=204922&view=diff
==============================================================================
--- llvm/trunk/lib/Target/Mips/MipsISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/Mips/MipsISelLowering.cpp Thu Mar 27 07:49:34 2014
@@ -1523,8 +1523,8 @@ SDValue MipsTargetLowering::lowerGlobalA
                                  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());
 }
 





More information about the llvm-commits mailing list