[AsmPrinter][TLOF] ARM64 MachO support for replacing GOT equivalents
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Fri, 6 Mar 2015 13:48:45 +0000 (13:48 +0000)
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Fri, 6 Mar 2015 13:48:45 +0000 (13:48 +0000)
commit52b1391df61bd2ccfcbac2f354fec57cd4e17591
treec246e5ff71fc994130c623ccc4ba3c78eecc80e2
parent6409a3c5d8715f3d6f1aaa76eced0791d419a3cd
[AsmPrinter][TLOF] ARM64 MachO support for replacing GOT equivalents

Follow up r230264 and add ARM64 support for replacing global GOT
equivalent symbol accesses by references to the GOT entry for the final
symbol instead, example:

-- before

   .globl  _foo
  _foo:
   .long   42

   .globl  _gotequivalent
  _gotequivalent:
   .quad   _foo

   .globl  _delta
  _delta:
   .long   _gotequivalent-_delta

-- after

   .globl  _foo
  _foo:
   .long   42

   .globl  _delta
  Ltmp3:
   .long _foo@GOT-Ltmp3

llvm-svn: 231474
llvm/include/llvm/Target/TargetLoweringObjectFile.h
llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp
llvm/lib/Target/AArch64/AArch64TargetObjectFile.h
llvm/lib/Target/X86/X86TargetObjectFile.cpp
llvm/lib/Target/X86/X86TargetObjectFile.h
llvm/test/MC/MachO/cstexpr-gotpcrel-64.ll [moved from llvm/test/MC/X86/cstexpr-gotpcrel.ll with 58% similarity]