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

Stefan Gränitz via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 23 09:18:46 PST 2024


weliveindetail wrote:

Double-checked on armv7 (32-bit Raspbian on RPi 3b) with all commits landed:
```
$ cat CMakeCache.txt | grep HOST_TRIPLE
LLVM_HOST_TRIPLE:STRING=arm-linux-gnueabihf
```

Tests run fine:
```
$ bin/llvm-lit --filter=Interpreter tools/clang/test
-- Testing: 22 of 18430 tests, 4 workers --
PASS: Clang :: Interpreter/execute-stmts.cpp (1 of 22)
PASS: Clang :: Interpreter/inline-virtual.cpp (2 of 22)
PASS: Clang :: Interpreter/execute.cpp (3 of 22)
PASS: Clang :: Interpreter/const.cpp (4 of 22)
PASS: Clang :: Interpreter/multiline.cpp (5 of 22)
PASS: Clang :: Interpreter/code-undo.cpp (6 of 22)
PASS: Clang :: Interpreter/global-dtor.cpp (7 of 22)
PASS: Clang :: Interpreter/lambda.cpp (8 of 22)
PASS: Clang :: Interpreter/execute-weak.cpp (9 of 22)
XFAIL: Clang :: Interpreter/simple-exception.cpp (10 of 22)
PASS: Clang :: Interpreter/disambiguate-decl-stmt.cpp (11 of 22)
PASS: Clang :: Interpreter/sanity.c (12 of 22)
UNSUPPORTED: Clang :: Interpreter/plugins.cpp (13 of 22)
UNSUPPORTED: Clang :: Interpreter/dynamic-library.cpp (14 of 22)
UNSUPPORTED: Clang :: Interpreter/CUDA/device-function-template.cu (15 of 22)
UNSUPPORTED: Clang :: Interpreter/CUDA/host-and-device.cu (16 of 22)
UNSUPPORTED: Clang :: Interpreter/CUDA/sanity.cu (17 of 22)
UNSUPPORTED: Clang :: Interpreter/CUDA/device-function.cu (18 of 22)
UNSUPPORTED: Clang :: Interpreter/CUDA/memory.cu (19 of 22)
PASS: Clang :: Interpreter/fail.cpp (20 of 22)
PASS: Clang :: Interpreter/stmt-serialization.cpp (21 of 22)
PASS: Clang :: Interpreter/incremental-mode.cpp (22 of 22)

Testing Time: 15.51s

Total Discovered Tests: 18430
  Excluded         : 18408 (99.88%)
  Unsupported      :     7 (0.04%)
  Passed           :    14 (0.08%)
  Expectedly Failed:     1 (0.01%)

1 warning(s) in tests
```

This is using JITLink::
```
$ cat ../clang/test/Interpreter/inline-virtual.cpp | bin/clang-repl -Xcc -fno-rtti --debug-only=jitlink 2>&1 | grep aarch32 | head -3
    Created Arm entry for __cxa_begin_catch in __llvm_jitlink_aarch32_STUBS_v7: 0x0 (block + 0x00000000): size: 0x0000000c, linkage: strong, scope: local, dead  -   <anonymous symbol>
    Using Arm entry 0x0 (block + 0x00000000): size: 0x0000000c, linkage: strong, scope: local, dead  -   <anonymous symbol> in __llvm_jitlink_aarch32_STUBS_v7
    Created Arm entry for _ZSt9terminatev in __llvm_jitlink_aarch32_STUBS_v7: 0x0 (block + 0x00000000): size: 0x0000000c, linkage: strong, scope: local, dead  -   <anonymous symbol>
```

https://github.com/llvm/llvm-project/pull/77313


More information about the llvm-commits mailing list