This is an archive of the discontinued LLVM Phabricator instance.

[lli] Make -jit-kind=orc the default JIT engine
ClosedPublic

Authored by sgraenitz on Mar 19 2021, 2:20 AM.

Details

Summary

MCJIT served well as the default JIT engine in lli for a long time, but the code is getting old and maintenance efforts don't seem to be in sight. In the meantime Orc became mature enough to fill that gap. The newly added greddy mode is very similar to the execution model of MCJIT. It should work as a drop-in replacement for common JIT tasks.

Diff Detail

Event Timeline

sgraenitz requested review of this revision.Mar 19 2021, 2:20 AM
sgraenitz created this revision.
Herald added a project: Restricted Project. · View Herald TranscriptMar 19 2021, 2:20 AM
sgraenitz updated this revision to Diff 331802.Mar 19 2021, 2:23 AM

Run tests for common JIT tasks against both, MCJIT and Orc

sgraenitz updated this revision to Diff 331803.Mar 19 2021, 2:25 AM

Patch tests for MCJIT-specific behavior

Patch 5 other tests that slipped through

This change was overdue, thanks!

lhames accepted this revision.Mar 19 2021, 8:39 PM

LGTM. This is great stuff -- thanks Stefan!

This revision is now accepted and ready to land.Mar 19 2021, 8:39 PM
sgraenitz updated this revision to Diff 332298.Mar 22 2021, 8:24 AM

For now keep eh-lg-pic.ll a MCJIT-only test

This revision was landed with ongoing or failed builds.Mar 23 2021, 2:23 AM
This revision was automatically updated to reflect the committed changes.

Fix error No callback manager available on powerpc64le-unknown-linux-gnu with eccd7ae2fdb3

thakis added a subscriber: thakis.Mar 23 2021, 3:42 AM

This breaks tests on windows: http://45.33.8.238/win/35564/step_11.txt

Please take a look, and revert for now if it takes a while to fix.

Fix error No callback manager available on powerpc64le-unknown-linux-gnu with eccd7ae2fdb3

It has actually taken down most of the PPC bots. Can we get it reverted and we can try to do what we can to help investigate the failures on PowerPC machines?

Can we get it reverted and we can try to do what we can to help investigate the failures on PowerPC machines?

I think 5949bd91253672ea8599a7a234b18e78972d3aa1 will fix the PowerPC bots

This breaks tests on windows: http://45.33.8.238/win/35564/step_11.txt

These have all in common a strange exit code 3221225477 but otherwise don't provide any details. There is one more here: https://lab.llvm.org/buildbot#builders/123/builds/3554

I think 5949bd91253672ea8599a7a234b18e78972d3aa1 will fix the PowerPC bots

Ok at first it introduced some more trouble by breaking unit tests that expected an error coming out of this function. Reverted that too. So, everything should be back to default for now.

sgraenitz reopened this revision.Mar 26 2021, 7:26 AM
This revision is now accepted and ready to land.Mar 26 2021, 7:26 AM
sgraenitz updated this revision to Diff 333554.Mar 26 2021, 7:27 AM

Don't apply lazy-MCJIT tests to the default (greedy) mode for Orc. They probably work well with OrcLazy, but that's a different story.

sgraenitz updated this revision to Diff 334091.Mar 30 2021, 3:06 AM

Rebase patch

This revision was landed with ongoing or failed builds.Mar 30 2021, 3:08 AM
This revision was automatically updated to reflect the committed changes.