[PATCH] D34691: [LLD][ELF] Introduce range extension thunks for ARM

Peter Smith via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 27 08:06:18 PDT 2017


peter.smith created this revision.
Herald added subscribers: kristof.beyls, javed.absar, sdardis, emaste, aemerson.

This change adds initial support for range extension thunks. All thunks must be created within the first pass so some corner cases are not supported. A follow up patch will add support for multiple passes.

      

With this change the existing tests arm-branch-error.s and arm-thumb-branch-error.s now no longer fail with an out of range branch. These have been renamed and tests added for the range extension thunk.

This is patch 8/11 of range thunks. It is dependent on all previous patches https://reviews.llvm.org/D34690, https://reviews.llvm.org/D34689, https://reviews.llvm.org/D34688 and their transitive dependencies


https://reviews.llvm.org/D34691

Files:
  ELF/Arch/ARM.cpp
  ELF/Arch/Mips.cpp
  ELF/Relocations.cpp
  ELF/Relocations.h
  ELF/Target.cpp
  ELF/Target.h
  ELF/Thunks.cpp
  ELF/Writer.cpp
  test/ELF/arm-branch-error.s
  test/ELF/arm-branch-rangethunk.s
  test/ELF/arm-thumb-branch-error.s
  test/ELF/arm-thumb-branch-rangethunk.s

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D34691.104168.patch
Type: text/x-patch
Size: 16216 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170627/a9057824/attachment.bin>


More information about the llvm-commits mailing list