[llvm] e4f0829 - [Orc] Let LLJIT default to JITLink for ELF-based ARM targets (#77313)

via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 23 09:50:45 PST 2024


Author: Stefan Gränitz
Date: 2024-01-23T18:50:41+01:00
New Revision: e4f0829d80aabe7d0b80d8ba60828dd0c9774300

URL: https://github.com/llvm/llvm-project/commit/e4f0829d80aabe7d0b80d8ba60828dd0c9774300
DIFF: https://github.com/llvm/llvm-project/commit/e4f0829d80aabe7d0b80d8ba60828dd0c9774300.diff

LOG: [Orc] Let LLJIT default to JITLink for ELF-based ARM targets  (#77313)

The JITLink AArch32 backend reached feature-parity with RuntimeDyld
on ELF-based systems. This patch changes the default JIT-linker in Orc's
LLJIT for these platforms.

This allows us to run clang-repl with JITLink on ARM and use all the
features we had with RuntimeDyld before. All existing tests for
clang-repl are passing.

Added: 
    

Modified: 
    llvm/lib/ExecutionEngine/Orc/LLJIT.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/ExecutionEngine/Orc/LLJIT.cpp b/llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
index e259c393d07e03..833dcb9d5bf2e7 100644
--- a/llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
@@ -734,6 +734,12 @@ Error LLJITBuilderState::prepareForConstruction() {
     case Triple::aarch64:
       UseJITLink = !TT.isOSBinFormatCOFF();
       break;
+    case Triple::arm:
+    case Triple::armeb:
+    case Triple::thumb:
+    case Triple::thumbeb:
+      UseJITLink = TT.isOSBinFormatELF();
+      break;
     case Triple::x86_64:
       UseJITLink = !TT.isOSBinFormatCOFF();
       break;


        


More information about the llvm-commits mailing list