[PATCH] D144714: [JITLink] Introduce virtual offsets for Symbol definitions in LinkGraph

Stefan Gränitz via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 24 03:19:46 PST 2023


sgraenitz created this revision.
sgraenitz added a reviewer: lhames.
Herald added subscribers: hiraditya, kristof.beyls.
Herald added a project: All.
sgraenitz requested review of this revision.
Herald added a project: LLVM.

On AArch32 branch offsets explicitly encode the target instruction subset (Arm/Thumb) in their least significant bit. We want to store Thumb symbol definitions with the extra bit set, so that branch offset calculations account for instruction subset changes automatically.

However, we don't want to adjust the physical size of the symbol or the containing block, since this bit is not part of the symbol's physical location. Instead, we could consider it a virtual offset: Virtual offsets do affect branch offsets, but not physical memory size.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D144714

Files:
  llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
  llvm/lib/ExecutionEngine/JITLink/JITLink.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D144714.500127.patch
Type: text/x-patch
Size: 5016 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230224/b0de2d20/attachment.bin>


More information about the llvm-commits mailing list