[PATCH] D141102: [ORC] Add lazy jit support for LoongArch64
wanglei via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sat Jan 21 01:47:31 PST 2023
wangleiat added a comment.
In D141102#4070559 <https://reviews.llvm.org/D141102#4070559>, @lhames wrote:
> LGTM. Thank you very much for your work on this!
>
> Please try adding Loongarch as a supported architecture in `llvm-project/llvm/test/ExecutionEngine/OrcLazy/lit.local.cfg` and running the lazy-compilation regression tests from the built LLVM dir with `./bin/llvm-lit -v test/ExecutionEngine/OrcLazy`. If they pass reliably then you could enable them in this patch (or a follow-up). If not then it may indicate areas for future work either in Loongarch support or in the LLVM JIT infrastructure itself.
Thank you very much for your comments, I made the following modifications and running the lazy-compliation regression tests:
1. Modify `llvm-project/llvm/test/lit.cfg.py`, and add floating-point features to the `LoongArch` backend (`lli_args = ['-mattr=+d']`, because the `LoongArch` backend does not add floating-point support by default, causing the `frem.ll` test to fail).
2. Modify `llvm-project/llvm/test/ExecutionEngine/lit.local.cfg` to remove `LoongArch` from the `unsupported` list (because only modify `OrcLazy/lit.local.cfg` will not running the regression tests).
3. Modify `llvm-project/llvm/test/ExecutionEngine/OrcLazy/lit.local.cfg`, and add `loongarch64` to the supported list.
The test results are as follows:
[wanglei at localhost _build]$ ./bin/llvm-lit -v test/ExecutionEngine/OrcLazy
-- Testing: 23 tests, 23 workers --
UNSUPPORTED: LLVM :: ExecutionEngine/OrcLazy/minimal-throw-catch.ll (1 of 23)
UNSUPPORTED: LLVM :: ExecutionEngine/OrcLazy/debug-objects-elf-minimal.ll (2 of 23)
UNSUPPORTED: LLVM :: ExecutionEngine/OrcLazy/macho-universal-static-library-support.ll (3 of 23)
UNSUPPORTED: LLVM :: ExecutionEngine/OrcLazy/debug-descriptor-elf-minimal.ll (4 of 23)
PASS: LLVM :: ExecutionEngine/OrcLazy/bad-object-file.ll (5 of 23)
PASS: LLVM :: ExecutionEngine/OrcLazy/minimal.ll (6 of 23)
PASS: LLVM :: ExecutionEngine/OrcLazy/global_aliases.ll (7 of 23)
PASS: LLVM :: ExecutionEngine/OrcLazy/emulated-tls.ll (8 of 23)
PASS: LLVM :: ExecutionEngine/OrcLazy/common-symbols.ll (9 of 23)
PASS: LLVM :: ExecutionEngine/OrcLazy/private_linkage.ll (10 of 23)
PASS: LLVM :: ExecutionEngine/OrcLazy/printargv.ll (11 of 23)
PASS: LLVM :: ExecutionEngine/OrcLazy/single-function-call.ll (12 of 23)
PASS: LLVM :: ExecutionEngine/OrcLazy/anonymous_globals.ll (13 of 23)
PASS: LLVM :: ExecutionEngine/OrcLazy/weak-function.ll (14 of 23)
PASS: LLVM :: ExecutionEngine/OrcLazy/multiple-compile-threads-basic.ll (15 of 23)
PASS: LLVM :: ExecutionEngine/OrcLazy/module-flags.ll (16 of 23)
PASS: LLVM :: ExecutionEngine/OrcLazy/weak-non-materialization.ll (17 of 23)
PASS: LLVM :: ExecutionEngine/OrcLazy/basic-object-file-loading.ll (18 of 23)
PASS: LLVM :: ExecutionEngine/OrcLazy/basic-whole-module-partitions.ll (19 of 23)
PASS: LLVM :: ExecutionEngine/OrcLazy/hidden-visibility.ll (20 of 23)
PASS: LLVM :: ExecutionEngine/OrcLazy/static-initializers-in-objectfiles.ll (21 of 23)
PASS: LLVM :: ExecutionEngine/OrcLazy/static-library-support.ll (22 of 23)
PASS: LLVM :: ExecutionEngine/OrcLazy/global-ctors-and-dtors.ll (23 of 23)
Testing Time: 0.29s
Unsupported: 4
Passed : 19
Due to the problem of not supporting floating-point features by default, I decided to turn on regression testing in subsequent patches.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D141102/new/
https://reviews.llvm.org/D141102
More information about the llvm-commits
mailing list