[PATCH] D148701: [LLD][ELF][AArch64] Add AArch64 short range thunk support

Peter Smith via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 19 03:22:49 PDT 2023


peter.smith created this revision.
peter.smith added reviewers: MaskRay, danielkiss.
Herald added subscribers: kristof.beyls, arichardson, emaste.
Herald added a project: All.
peter.smith requested review of this revision.

The AArch64 branch immediate instruction has a 128MiB range. This makes it suitable for use a short range thunk in the same way as short thunks are implemented in Arm and PPC. This patch adds support for short range thunks to AArch64.

Adding short range thunk support should mean that OutputSections can grow to nearly 256 MiB in size without needing long-range indirect branches.


https://reviews.llvm.org/D148701

Files:
  lld/ELF/Thunks.cpp
  lld/test/ELF/aarch64-cortex-a53-843419-thunk.s
  lld/test/ELF/aarch64-long-thunk-converge.s
  lld/test/ELF/aarch64-thunk-reuse2.s
  lld/test/ELF/aarch64-thunk-script.s
  lld/test/ELF/aarch64-thunk-section-location.s

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D148701.514884.patch
Type: text/x-patch
Size: 10288 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230419/11a922ff/attachment-0001.bin>


More information about the llvm-commits mailing list