diff options
author | Peter Collingbourne <peter@pcc.me.uk> | 2015-10-26 20:46:44 +0000 |
---|---|---|
committer | Peter Collingbourne <peter@pcc.me.uk> | 2015-10-26 20:46:44 +0000 |
commit | 99fac80db26602b7c2b30d4bf6136bfd6398406f (patch) | |
tree | fff8f3e62a803468f341ee04de90d2034cfbfb07 /llvm/lib/Target | |
parent | 3e9560200f6763c10a704fa9e08ad167cef1fb25 (diff) | |
download | bcm5719-llvm-99fac80db26602b7c2b30d4bf6136bfd6398406f.tar.gz bcm5719-llvm-99fac80db26602b7c2b30d4bf6136bfd6398406f.zip |
ARM/ELF: Restore original (pre-r251322) logic for deciding whether to use GOT.
Unbreaks linking with gold, which cannot resolve direct relocations referring
to global symbols.
llvm-svn: 251342
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r-- | llvm/lib/Target/ARM/ARMFastISel.cpp | 2 | ||||
-rw-r--r-- | llvm/lib/Target/ARM/ARMISelLowering.cpp | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Target/ARM/ARMFastISel.cpp b/llvm/lib/Target/ARM/ARMFastISel.cpp index a2093ebb85d..175107450fc 100644 --- a/llvm/lib/Target/ARM/ARMFastISel.cpp +++ b/llvm/lib/Target/ARM/ARMFastISel.cpp @@ -2940,7 +2940,7 @@ bool ARMFastISel::tryToFoldLoadIntoMI(MachineInstr *MI, unsigned OpNo, unsigned ARMFastISel::ARMLowerPICELF(const GlobalValue *GV, unsigned Align, MVT VT) { bool UseGOT_PREL = - !(GV->hasHiddenVisibility() || GV->isStrongDefinitionForLinker()); + !(GV->hasHiddenVisibility() || GV->hasLocalLinkage()); LLVMContext *Context = &MF->getFunction()->getContext(); unsigned ARMPCLabelIndex = AFI->createPICLabelUId(); diff --git a/llvm/lib/Target/ARM/ARMISelLowering.cpp b/llvm/lib/Target/ARM/ARMISelLowering.cpp index 36f8886ea0e..49f8918b8dd 100644 --- a/llvm/lib/Target/ARM/ARMISelLowering.cpp +++ b/llvm/lib/Target/ARM/ARMISelLowering.cpp @@ -2637,7 +2637,7 @@ SDValue ARMTargetLowering::LowerGlobalAddressELF(SDValue Op, const GlobalValue *GV = cast<GlobalAddressSDNode>(Op)->getGlobal(); if (getTargetMachine().getRelocationModel() == Reloc::PIC_) { bool UseGOT_PREL = - !(GV->hasHiddenVisibility() || GV->isStrongDefinitionForLinker()); + !(GV->hasHiddenVisibility() || GV->hasLocalLinkage()); MachineFunction &MF = DAG.getMachineFunction(); ARMFunctionInfo *AFI = MF.getInfo<ARMFunctionInfo>(); |