Fix bug in LowerConstantPool.
authorAkira Hatanaka <ahatanaka@mips.com>
Tue, 27 Mar 2012 02:55:31 +0000 (02:55 +0000)
committerAkira Hatanaka <ahatanaka@mips.com>
Tue, 27 Mar 2012 02:55:31 +0000 (02:55 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153498 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Mips/MipsISelLowering.cpp

index ecde5b615a8983ddcd129ac206fb963891cd36ef..f7da0ec626a6e44d6591b05f4e3a580f62bc39c6 100644 (file)
@@ -1712,7 +1712,7 @@ LowerConstantPool(SDValue Op, SelectionDAG &DAG) const
   //  SDValue GOT = DAG.getGLOBAL_OFFSET_TABLE(MVT::i32);
   //  ResNode = DAG.getNode(ISD::ADD, MVT::i32, GOT, GPRelNode);
 
-  if (getTargetMachine().getRelocationModel() != Reloc::PIC_) {
+  if (getTargetMachine().getRelocationModel() != Reloc::PIC_ && !IsN64) {
     SDValue CPHi = DAG.getTargetConstantPool(C, MVT::i32, N->getAlignment(),
                                              N->getOffset(), MipsII::MO_ABS_HI);
     SDValue CPLo = DAG.getTargetConstantPool(C, MVT::i32, N->getAlignment(),