[all-commits] [llvm/llvm-project] b86420: [JITLink][AArch32] Add dynamic lookup for relocati...

Stefan Gränitz via All-commits all-commits at lists.llvm.org
Fri Nov 24 12:46:04 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b86420c614b57342e752ff40359e09c85b940475
      https://github.com/llvm/llvm-project/commit/b86420c614b57342e752ff40359e09c85b940475
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/aarch32.h
    M llvm/lib/ExecutionEngine/JITLink/aarch32.cpp
    M llvm/unittests/ExecutionEngine/JITLink/AArch32Tests.cpp

  Log Message:
  -----------
  [JITLink][AArch32] Add dynamic lookup for relocation fixup infos (#71649)

Specifying relocation fixup constants with name and type facilitates
readability and compile-time checks. The `FixupInfo<EdgeKind>` facade
organizes the information into entries per relocation type and provides
uniform access across Arm and Thumb relocations. Since it uses template
specializations, it doesn't limit potential entries. We cannot access
the entries dynamically though, because `EdgeKind` must be given as a
compile-time constant.

With this patch we populate a static lookup table on-demand and use it
for dynamic access in opcode-checks.




More information about the All-commits mailing list