This is an archive of the discontinued LLVM Phabricator instance.

[test][LoongArch] Mark old JIT ExecutionEngine tests as unsupported
ClosedPublic

Authored by xen0n on Sep 21 2022, 8:29 AM.

Details

Summary

The old MCJIT won't be accepting new architectures so it can only be
appropriate to add ourselves to the exclude list.

Diff Detail

Event Timeline

xen0n created this revision.Sep 21 2022, 8:29 AM
xen0n requested review of this revision.Sep 21 2022, 8:29 AM
xen0n edited the summary of this revision. (Show Details)Sep 21 2022, 8:54 AM
xen0n edited the summary of this revision. (Show Details)

Do you mean that new archs will never get supported by MCJIT? Is there an announcement?

But it seems true because I find this MR for llvmpipe adding orcjit support for riscv: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17801

xen0n added a comment.Sep 26 2022, 1:05 AM

Do you mean that new archs will never get supported by MCJIT? Is there an announcement?

But it seems true because I find this MR for llvmpipe adding orcjit support for riscv: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17801

I forgot where I read this, but I believe this is the case. Seeing thriving architectures like AArch64 and RISCV here also explains things...

SixWeining added subscribers: MaskRay, lhames, rengolin.

Do you mean that new archs will never get supported by MCJIT? Is there an announcement?

But it seems true because I find this MR for llvmpipe adding orcjit support for riscv: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17801

I forgot where I read this, but I believe this is the case. Seeing thriving architectures like AArch64 and RISCV here also explains things...

I see related discussion here: https://discourse.llvm.org/t/ive-seen-orcjit-is-under-overhaul-and-also-the-mcjit-so-whats-the-plan/48995/2
But I'm not sure about this. MCJIT doesn't accept new architectures any more? What do you think? @rengolin @MaskRay @lhames

BTW, ExecutionEngine regression tests are enabled on AArch64 by a recent (last week) commit:

commit 23dda2899efc784ec8510a8a7b28901bc4c7c8b8
Author: Lang Hames <lhames@gmail.com>
Date:   Tue Oct 4 11:31:09 2022 -0700

    [ExecutionEngine] Enable ExecutionEngine regression tests on AArch64.

diff --git a/llvm/test/ExecutionEngine/lit.local.cfg b/llvm/test/ExecutionEngine/lit.local.cfg
index 3338d19e967f..b00ef0dcbdf0 100644
--- a/llvm/test/ExecutionEngine/lit.local.cfg
+++ b/llvm/test/ExecutionEngine/lit.local.cfg
@@ -1,4 +1,4 @@
-if config.root.native_target in ['Sparc', 'PowerPC', 'AArch64', 'ARM64', 'SystemZ', 'Hexagon', 'RISCV']:
+if config.root.native_target in ['Sparc', 'PowerPC', 'SystemZ', 'Hexagon', 'RISCV']:
     config.unsupported = True
rengolin accepted this revision.Oct 12 2022, 4:01 AM

As per that thread, indeed MCJIT is on the way out and you should go for OrcJIT if you want JIT support in LoongArch.

This revision is now accepted and ready to land.Oct 12 2022, 4:01 AM
SixWeining accepted this revision.Oct 13 2022, 4:29 AM
This revision was landed with ongoing or failed builds.Oct 13 2022, 4:32 AM
This revision was automatically updated to reflect the committed changes.

Late to the party here, but I agree: New architectures should use JITLink (ORC's new JIT linker), rather than MCJIT.

This test directory actually covers both. The right thing to do is to disable LoongArch until you have a basic JITLink implementation written. Then you can enable it and start adding lli and llvm-jitlink tests.

Hi @lhames,

I submitted two patches for LoongArch support, could you help to review them?

D141036 (for JITLink) and D141102 (for ORC lazy).