陳韋任 (Wei-Ren Chen)
2012-Sep-19 08:39 UTC
[LLVMdev] How to use MCJIT by default for a target
On Wed, Sep 19, 2012 at 12:42:18AM +0000, Kaylor, Andrew wrote:> It seems to me that MCJIT would be a nice default on the platforms that support it. On the other hand, I don't like the idea of the default behavior being platform dependent. > > Perhaps the biggest obstacle to changing the default is that it would have complicated implications for the automated tests. The testing of JIT and MCJIT is already a bit of a mess, and changing the default to MCJIT for some platforms while leaving it as JIT for other platforms would make things considerably worse. I think at this point we'd need to consider cleaning up the JIT/MCJIT nightly tests as a pre-requisite to changing the default, regardless of other considerations.I agree that we should clean up JIT/MCJIT tests, then change to MCJIT until it pass those tests. Regards, chenwj -- Wei-Ren Chen (陳韋任) Computer Systems Lab, Institute of Information Science, Academia Sinica, Taiwan (R.O.C.) Tel:886-2-2788-3799 #1667 Homepage: http://people.cs.nctu.edu.tw/~chenwj
On Wed, Sep 19, 2012 at 12:42:18AM +0000, Kaylor, Andrew wrote:> It seems to me that MCJIT would be a nice default on the platforms that support it. On the other hand, I don't like the idea of the default behavior being platform dependent. > > Perhaps the biggest obstacle to changing the default is that it would have complicated implications for the automated tests. The testing of JIT and MCJIT is already a bit of a mess, and changing the default to MCJIT for some platforms while leaving it as JIT for other platforms would make things considerably worse. I think at this point we'd need to consider cleaning up the JIT/MCJIT nightly tests as a pre-requisite to changing the default, regardless of other considerations.| I agree that we should clean up JIT/MCJIT tests, then change to MCJIT |until it pass those tests. That's a big idea, how this has come up is that there are some tests (in particular profiling) which AREN'T testing JITing itself, but need to use the JIT in order to run stuff. On ARM these don't run with the old JIT but do with the MCJIT. We could just disable the tests, but then we're losing coverage of the profiling stuff due to a "configuration limitation"... Particularly if more such tests are likely to be added, it'd be preferable to figure a way to "use the most robust JIT on the current platform" and run them. Cheers, Dave
陳韋任 (Wei-Ren Chen)
2012-Sep-21 08:12 UTC
[LLVMdev] How to use MCJIT by default for a target
> | I agree that we should clean up JIT/MCJIT tests, then change to MCJIT > |until it pass those tests. > > That's a big idea, how this has come up is that there are some tests (in particular profiling) which AREN'T testing JITing itself, but need to use the JIT in order to run stuff. On ARM these don't run with the old JIT but do with the MCJIT. We could just disable the tests, but then we're losing coverage of the profiling stuff due to a "configuration limitation"... Particularly if more such tests are likely to be added, it'd be preferable to figure a way to "use the most robust JIT on the current platform" and run them.I see test cases under Analysis/Profiling/ directory just call `lli` WITHOUT "-use-mcjit" option. Do you mean on ARM, lli use MCJIT by default already? I thought we have to explicitly use "-use-mcjit" option to make lli use MCJIT... As Eli said in [1], ExecutionEngine/* and ExecutionEngine/MCJIT/* are same test cases for old JIT and MCJIT separately. I guess we can choose the most robust JIT base on their result. Regards, chenwj [1] http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-June/050878.html -- Wei-Ren Chen (陳韋任) Computer Systems Lab, Institute of Information Science, Academia Sinica, Taiwan (R.O.C.) Tel:886-2-2788-3799 #1667 Homepage: http://people.cs.nctu.edu.tw/~chenwj
陳韋任 (Wei-Ren Chen)
2012-Sep-21 08:54 UTC
[LLVMdev] How to use MCJIT by default for a target
Or we can make Eli's lit SUBTEST patch in, so that we don't have to duplicate test cases for old JIT and MCJIT. Regards, chenwj [1] http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20120521/143186.html -- Wei-Ren Chen (陳韋任) Computer Systems Lab, Institute of Information Science, Academia Sinica, Taiwan (R.O.C.) Tel:886-2-2788-3799 #1667 Homepage: http://people.cs.nctu.edu.tw/~chenwj