[JITLink][ELF][ppc64] Add skeleton ppc64 support and ELF/ppc64 JITLink backend.
authorLang Hames <lhames@gmail.com>
Thu, 13 Apr 2023 18:43:37 +0000 (18:43 +0000)
committerLang Hames <lhames@gmail.com>
Mon, 22 May 2023 20:10:01 +0000 (20:10 +0000)
commit8313507a7c3fd0603cd4cab1dc220235bd668ae1
treecf3080a3b6f0051d5464a3e1efe663e2abe354d4
parentca2666548085b3f4e61b1722272c4fa0eadd2d4e
[JITLink][ELF][ppc64] Add skeleton ppc64 support and ELF/ppc64 JITLink backend.

This patch introduces a skeleton JITLink ppc64 support header and ELF/ppc64
backend. No relocations are supported in this initial version, but given a
program requiring no relocations (e.g. one that just returns a constant value
from main) the new backend is able to construct a LinkGraph from a ppc64 ELF
relocatable object, and the llvm-jitlink tool is able to execute it.

This commit should also serve as a good example of how to introduce a JITLink
backend for a new architecture.

Reviewed By: sgraenitz, v.g.vassilev, vchuravy, nemanjai, jain98, MaskRay

Differential Revision: https://reviews.llvm.org/D148192
llvm/include/llvm/ExecutionEngine/JITLink/ELF_ppc64.h [new file with mode: 0644]
llvm/include/llvm/ExecutionEngine/JITLink/ppc64.h [new file with mode: 0644]
llvm/lib/ExecutionEngine/JITLink/CMakeLists.txt
llvm/lib/ExecutionEngine/JITLink/ELF.cpp
llvm/lib/ExecutionEngine/JITLink/ELF_ppc64.cpp [new file with mode: 0644]
llvm/lib/ExecutionEngine/JITLink/ppc64.cpp [new file with mode: 0644]
llvm/test/ExecutionEngine/JITLink/ppc64/lit.local.cfg [new file with mode: 0644]
llvm/test/ExecutionEngine/JITLink/ppc64/ppc64le-no-relocs.s [new file with mode: 0644]