[all-commits] [llvm/llvm-project] 28b6f3: [JITLink] Add an initial implementation of JITLink...

wanglei via All-commits all-commits at lists.llvm.org
Tue Jan 17 22:30:04 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 28b6f38d0a841451af7b4893368543382dd5e630
      https://github.com/llvm/llvm-project/commit/28b6f38d0a841451af7b4893368543382dd5e630
  Author: wanglei <wanglei at loongson.cn>
  Date:   2023-01-18 (Wed, 18 Jan 2023)

  Changed paths:
    A llvm/include/llvm/ExecutionEngine/JITLink/ELF_loongarch.h
    A llvm/include/llvm/ExecutionEngine/JITLink/loongarch.h
    M llvm/lib/ExecutionEngine/JITLink/CMakeLists.txt
    M llvm/lib/ExecutionEngine/JITLink/ELF.cpp
    A llvm/lib/ExecutionEngine/JITLink/ELF_loongarch.cpp
    A llvm/lib/ExecutionEngine/JITLink/loongarch.cpp
    M llvm/lib/Target/LoongArch/TargetInfo/LoongArchTargetInfo.cpp
    A llvm/test/ExecutionEngine/JITLink/LoongArch/ELF_loongarch32_relocations.s
    A llvm/test/ExecutionEngine/JITLink/LoongArch/ELF_loongarch64_ehframe.s
    A llvm/test/ExecutionEngine/JITLink/LoongArch/ELF_loongarch64_relocations.s
    A llvm/test/ExecutionEngine/JITLink/LoongArch/lit.local.cfg

  Log Message:
  -----------
  [JITLink] Add an initial implementation of JITLink for ELF/LoongArch

This implementation supports basic relocation types and adds EHFrame,
Got/Plt handling passes.
This patch also enables JIT support for LoongArch64.

With this patch, I successfully run hello.ll and simple_throw.ll
(which is generated from test-suite/SingleSource/Regression/C++/EH/simple_throw.cpp)
using the `lli` command with options `--jit-kind=orc --jit-linker=jitlink`.

Note: `hasJIT` property of LoongArch32 remains false as there is no
validation environment.

Reviewed By: lhames

Differential Revision: https://reviews.llvm.org/D141036




More information about the All-commits mailing list