[AArch 64] Use a constant pool load for weak symbol references when
authorAsiri Rathnayake <asiri.rathnayake@arm.com>
Wed, 10 Sep 2014 13:54:38 +0000 (13:54 +0000)
committerAsiri Rathnayake <asiri.rathnayake@arm.com>
Wed, 10 Sep 2014 13:54:38 +0000 (13:54 +0000)
commit3babc141b202c9dfd764c68dc774e1cce12cb05b
tree2526e755941caea89205b4bab1cfb891f37a0c30
parent96597a70dcb978269930f193d6c7998e897b87ad
[AArch 64] Use a constant pool load for weak symbol references when
using static relocation model and small code model.

Summary: currently we generate GOT based relocations for weak symbol
references regardless of the underlying relocation model. This should
be change so that in static relocation model we use a constant pool
load instead.

Patch from: Keith Walker

Reviewers: Renato Golin, Tim Northover

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@217503 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AArch64/AArch64FastISel.cpp
lib/Target/AArch64/AArch64ISelLowering.cpp
lib/Target/AArch64/AArch64Subtarget.cpp
lib/Target/AArch64/Utils/AArch64BaseInfo.h
test/CodeGen/AArch64/arm64-extern-weak.ll
test/CodeGen/AArch64/extern-weak.ll