Author: evancheng Date: Tue Feb 12 13:20:46 2008 New Revision: 47019 URL: http://llvm.org/viewvc/llvm-project?rev=47019&view=rev Log: Only using x86-64 rip relative addressing in non-staic mode?
Modified: llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp Modified: llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp?rev=47019&r1=47018&r2=47019&view=diff ============================================================================== --- llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp (original) +++ llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp Tue Feb 12 13:20:46 2008 @@ -679,21 +679,25 @@ GlobalValue *GV = G->getGlobal(); AM.GV = GV; AM.Disp += G->getOffset(); - AM.isRIPRel = is64Bit; + AM.isRIPRel = TM.getRelocationModel() != Reloc::Static && + Subtarget->isPICStyleRIPRel(); return false; } else if (ConstantPoolSDNode *CP = dyn_cast<ConstantPoolSDNode>(N0)) { AM.CP = CP->getConstVal(); AM.Align = CP->getAlignment(); AM.Disp += CP->getOffset(); - AM.isRIPRel = is64Bit; + AM.isRIPRel = TM.getRelocationModel() != Reloc::Static && + Subtarget->isPICStyleRIPRel(); return false; } else if (ExternalSymbolSDNode *S =dyn_cast<ExternalSymbolSDNode>(N0)) { AM.ES = S->getSymbol(); - AM.isRIPRel = is64Bit; + AM.isRIPRel = TM.getRelocationModel() != Reloc::Static && + Subtarget->isPICStyleRIPRel(); return false; } else if (JumpTableSDNode *J = dyn_cast<JumpTableSDNode>(N0)) { AM.JT = J->getIndex(); - AM.isRIPRel = is64Bit; + AM.isRIPRel = TM.getRelocationModel() != Reloc::Static && + Subtarget->isPICStyleRIPRel(); return false; } } _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits