Changes in directory llvm/lib/Target/ARM:
ARMISelLowering.cpp updated: 1.50 -> 1.51 --- Log message: Optimize PIC implementation. GOTOFF can be used when the symbol is defined and used in the same module. --- Diffs of the changes: (+1 -1) ARMISelLowering.cpp | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/lib/Target/ARM/ARMISelLowering.cpp diff -u llvm/lib/Target/ARM/ARMISelLowering.cpp:1.50 llvm/lib/Target/ARM/ARMISelLowering.cpp:1.51 --- llvm/lib/Target/ARM/ARMISelLowering.cpp:1.50 Thu May 3 19:26:58 2007 +++ llvm/lib/Target/ARM/ARMISelLowering.cpp Mon May 14 13:46:23 2007 @@ -792,7 +792,7 @@ GlobalValue *GV = cast<GlobalAddressSDNode>(Op)->getGlobal(); Reloc::Model RelocM = getTargetMachine().getRelocationModel(); if (RelocM == Reloc::PIC_) { - bool UseGOTOFF = GV->hasInternalLinkage(); + bool UseGOTOFF = !GV->isDeclaration(); ARMConstantPoolValue *CPV = new ARMConstantPoolValue(GV, ARMCP::CPValue, UseGOTOFF ? "GOTOFF":"GOT"); SDOperand CPAddr = DAG.getTargetConstantPool(CPV, PtrVT, 2); _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits