[llvm] r233182 - [Orc][lli] Add a very simple Orc-based lazy JIT to lli.

David Blaikie dblaikie at gmail.com
Wed Mar 25 10:27:35 PDT 2015


On Wed, Mar 25, 2015 at 5:11 AM, Lang Hames <lhames at gmail.com> wrote:

> Author: lhames
> Date: Wed Mar 25 07:11:48 2015
> New Revision: 233182
>
> URL: http://llvm.org/viewvc/llvm-project?rev=233182&view=rev
> Log:
> [Orc][lli] Add a very simple Orc-based lazy JIT to lli.
>
> This ensures that we're building and testing the CompileOnDemand layer, at
> least
> in a basic way.
>
> Currently x86-64 only, and with limited to no library calls enabled
> (depending
> on host platform). Patches welcome. ;)
>
> To enable access to the lazy JIT, this patch replaces the '-use-orcmcjit'
> lli
> option with a new option:
> '-jit-kind={ mcjit | orc-mcjit | orc-lazy }'.
>
> All regression tests are updated to use the new option,


Side note/thought (sorry I didn't think of this when you were adding the
tests in the first place): could/should we deduplicate the MCJIT+ORCJIT
test cases and just add two run lines in each of the tests - that way the
contents of the tests isn't duplicated and there's a better chance that
when new tests are added that someone will cargo-cult the duplicate RUN
lines in from an existing tests (thus providing new test coverage for both
implementations) - or is there some other way we could streamline "run all
these tests with both these configurations" without manual duplication?


> and one trivial test of
> the new lazy JIT is added.
>
>
> Added:
>     llvm/trunk/test/ExecutionEngine/OrcLazy/
>     llvm/trunk/test/ExecutionEngine/OrcLazy/lit.local.cfg
>     llvm/trunk/test/ExecutionEngine/OrcLazy/trivial_retval_1.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/
>       - copied from r233180, llvm/trunk/test/ExecutionEngine/OrcJIT/
>     llvm/trunk/tools/lli/OrcLazyJIT.cpp
>     llvm/trunk/tools/lli/OrcLazyJIT.h
> Removed:
>     llvm/trunk/test/ExecutionEngine/OrcJIT/
> Modified:
>     llvm/trunk/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/2002-12-16-ArgTest.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-ArgumentBug.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-LoopTest.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-PhiTest.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-09-SARTest.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-10-FUCOM.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-15-AlignmentTest.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-06-LivenessClobber.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-07-ArgumentTest.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-11-PHIRegAllocBug.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-06-04-bzip2-bug.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-06-05-PHIBug.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-15-AllocaAssertion.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-21-EnvironmentTest.ll
>
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-23-RegisterAllocatePhysReg.ll
>
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/2005-12-02-TailCallBug.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/2007-12-10-APIntLoadStore.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/2008-06-05-APInt-OverAShr.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/2013-04-04-RelocAddend.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/cross-module-a.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/cross-module-sm-pic-a.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh-lg-pic.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh-sm-pic.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/fpbitcast.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello-sm-pic.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello2.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/load-object-a.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-a.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-eh-a.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-sm-pic-a.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/non-extern-addend.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/pr13727.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/cross-module-a.ll
>
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/cross-module-sm-pic-a.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/multi-module-a.ll
>
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/multi-module-sm-pic-a.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/simpletest-remote.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/stubs-remote.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/stubs-sm-pic.ll
>
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-common-symbols-remote.ll
>
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-data-align-remote.ll
>
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-fp-no-external-funcs-remote.ll
>
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-remote.ll
>
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll
>
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-remote.ll
>
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/simplesttest.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/simpletest.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/stubs.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-arith.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-branch.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-call-no-external-funcs.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-call.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-cast.ll
>
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-common-symbols-alignment.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-common-symbols.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-constantexpr.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-data-align.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-fp-no-external-funcs.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-fp.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-ctors.ll
>
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero-sm-pic.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-loadstore.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-local.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-logical.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-loop.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-phi.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc-sm-pic.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ret.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-return.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-setcond-fp.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-setcond-int.ll
>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-shift.ll
>     llvm/trunk/tools/lli/CMakeLists.txt
>     llvm/trunk/tools/lli/lli.cpp
>
> Modified:
> llvm/trunk/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h?rev=233182&r1=233181&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
> (original)
> +++ llvm/trunk/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h Wed
> Mar 25 07:11:48 2015
> @@ -193,8 +193,8 @@ public:
>    ///        below this one.
>    JITSymbol findSymbolIn(ModuleSetHandleT H, const std::string &Name,
>                           bool ExportedSymbolsOnly) {
> -    BaseLayerModuleSetHandleListT &BaseLayerHandles = H->second;
> -    for (auto &BH : BaseLayerHandles) {
> +
> +    for (auto &BH : H->BaseLayerModuleSetHandles) {
>        if (auto Symbol = BaseLayer.findSymbolIn(BH, Name,
> ExportedSymbolsOnly))
>          return Symbol;
>      }
>
> Added: llvm/trunk/test/ExecutionEngine/OrcLazy/lit.local.cfg
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcLazy/lit.local.cfg?rev=233182&view=auto
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcLazy/lit.local.cfg (added)
> +++ llvm/trunk/test/ExecutionEngine/OrcLazy/lit.local.cfg Wed Mar 25
> 07:11:48 2015
> @@ -0,0 +1,2 @@
> +if config.root.host_arch not in ['x86_64']:
> +    config.unsupported = True
>
> Added: llvm/trunk/test/ExecutionEngine/OrcLazy/trivial_retval_1.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcLazy/trivial_retval_1.ll?rev=233182&view=auto
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcLazy/trivial_retval_1.ll (added)
> +++ llvm/trunk/test/ExecutionEngine/OrcLazy/trivial_retval_1.ll Wed Mar 25
> 07:11:48 2015
> @@ -0,0 +1,25 @@
> +; RUN: lli -jit-kind=orc-lazy %s; [ $? -eq 30 ]
>

What test coverage does this offer over all the other tests? Does it
test/ensure the laziness is actually happening? (it doesn't look like it to
me - but I'm fairly unfamiliar with the testing here) If it's not actually
testing anything that's specifically not covered by the other tests, I'd
probably skip it.

Perhaps it tickles a codepath that's not covered by the other tests, even
if it doesn't actually verify the laziness? Maybe a comment would be
helpful to describe exactly what about this test is necessary/interesting
for that codepath, then?


> +define i32 @baz() {
> +entry:
> +  ret i32 2
> +}
> +
> +define i32 @bar() {
> +entry:
> +  %call = call i32 @baz()
> +  %mul = mul nsw i32 3, %call
> +  ret i32 %mul
> +}
> +
> +define i32 @foo() {
> +entry:
> +  %call = call i32 @bar()
> +  %mul = mul nsw i32 5, %call
> +  ret i32 %mul
> +}
> +
> +define i32 @main(i32 %argc, i8** %argv) {
> +entry:
> +  %call = call i32 @foo()
> +  ret i32 %call
> +}
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/2002-12-16-ArgTest.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2002-12-16-ArgTest.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2002-12-16-ArgTest.ll
> (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2002-12-16-ArgTest.ll Wed Mar
> 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  @.LC0 = internal global [10 x i8] c"argc: %d\0A\00"            ; <[10 x
> i8]*> [#uses=1]
>
>
> Modified:
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-ArgumentBug.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-ArgumentBug.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-ArgumentBug.ll
> (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-ArgumentBug.ll Wed
> Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  define i32 @foo(i32 %X, i32 %Y, double %A) {
>         %cond212 = fcmp une double %A, 1.000000e+00             ; <i1>
> [#uses=1]
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-LoopTest.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-LoopTest.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-LoopTest.ll
> (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-LoopTest.ll Wed
> Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  define i32 @main() {
>         call i32 @mylog( i32 4 )                ; <i32>:1 [#uses=0]
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-PhiTest.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-PhiTest.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-PhiTest.ll
> (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-PhiTest.ll Wed Mar
> 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  define i32 @main() {
>  ; <label>:0
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-09-SARTest.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-09-SARTest.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-09-SARTest.ll
> (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-09-SARTest.ll Wed Mar
> 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  ; We were accidentally inverting the signedness of right shifts.  Whoops.
>
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-10-FUCOM.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-10-FUCOM.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-10-FUCOM.ll (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-10-FUCOM.ll Wed Mar
> 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  define i32 @main() {
>         %X = fadd double 0.000000e+00, 1.000000e+00             ; <double>
> [#uses=1]
>
> Modified:
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-15-AlignmentTest.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-15-AlignmentTest.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-15-AlignmentTest.ll
> (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-15-AlignmentTest.ll
> Wed Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  define i32 @bar(i8* %X) {
>          ; pointer should be 4 byte aligned!
>
> Modified:
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-06-LivenessClobber.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-06-LivenessClobber.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-06-LivenessClobber.ll
> (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-06-LivenessClobber.ll
> Wed Mar 25 07:11:48 2015
> @@ -1,6 +1,6 @@
>  ; This testcase should return with an exit code of 1.
>  ;
> -; RUN: not %lli -use-orcmcjit %s
> +; RUN: not %lli -jit-kind=orc-mcjit %s
>
>  @test = global i64 0           ; <i64*> [#uses=1]
>
>
> Modified:
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-07-ArgumentTest.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-07-ArgumentTest.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-07-ArgumentTest.ll
> (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-07-ArgumentTest.ll
> Wed Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s test
> +; RUN: %lli -jit-kind=orc-mcjit %s test
>
>  declare i32 @puts(i8*)
>
>
> Modified:
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-11-PHIRegAllocBug.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-11-PHIRegAllocBug.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-11-PHIRegAllocBug.ll
> (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-11-PHIRegAllocBug.ll
> Wed Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  define i32 @main() {
>  entry:
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-06-04-bzip2-bug.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-06-04-bzip2-bug.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-06-04-bzip2-bug.ll
> (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-06-04-bzip2-bug.ll Wed
> Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  ; Testcase distilled from 256.bzip2.
>
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-06-05-PHIBug.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-06-05-PHIBug.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-06-05-PHIBug.ll
> (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-06-05-PHIBug.ll Wed Mar
> 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  ; Testcase distilled from 256.bzip2.
>
>
> Modified:
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-15-AllocaAssertion.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-15-AllocaAssertion.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-15-AllocaAssertion.ll
> (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-15-AllocaAssertion.ll
> Wed Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  ; This testcase failed to work because two variable sized allocas
> confused the
>  ; local register allocator.
>
> Modified:
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-21-EnvironmentTest.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-21-EnvironmentTest.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-21-EnvironmentTest.ll
> (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-21-EnvironmentTest.ll
> Wed Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  ;
>  ; Regression Test: EnvironmentTest.ll
>
> Modified:
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-23-RegisterAllocatePhysReg.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-23-RegisterAllocatePhysReg.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> ---
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-23-RegisterAllocatePhysReg.ll
> (original)
> +++
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-23-RegisterAllocatePhysReg.ll
> Wed Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  ; This testcase exposes a bug in the local register allocator where it
> runs out
>  ; of registers (due to too many overlapping live ranges), but then
> attempts to
>
> Modified:
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> ---
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll
> (original)
> +++
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll
> Wed Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  @A = global i32 0              ; <i32*> [#uses=1]
>
>
> Modified:
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2005-12-02-TailCallBug.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2005-12-02-TailCallBug.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2005-12-02-TailCallBug.ll
> (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2005-12-02-TailCallBug.ll Wed
> Mar 25 07:11:48 2015
> @@ -1,5 +1,5 @@
>  ; PR672
> -; RUN: %lli -use-orcmcjit %s
> +; RUN: %lli -jit-kind=orc-mcjit %s
>  ; XFAIL: mcjit-ia32
>
>  define i32 @main() {
>
> Modified:
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2007-12-10-APIntLoadStore.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2007-12-10-APIntLoadStore.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2007-12-10-APIntLoadStore.ll
> (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2007-12-10-APIntLoadStore.ll
> Wed Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit -force-interpreter %s
> +; RUN: %lli -jit-kind=orc-mcjit -force-interpreter %s
>  ; PR1836
>
>  define i32 @main() {
>
> Modified:
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2008-06-05-APInt-OverAShr.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2008-06-05-APInt-OverAShr.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2008-06-05-APInt-OverAShr.ll
> (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2008-06-05-APInt-OverAShr.ll
> Wed Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit -force-interpreter=true %s | FileCheck %s
> +; RUN: %lli -jit-kind=orc-mcjit -force-interpreter=true %s | FileCheck %s
>  ; CHECK: 1
>
>  target datalayout =
> "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32"
>
> Modified:
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2013-04-04-RelocAddend.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2013-04-04-RelocAddend.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2013-04-04-RelocAddend.ll
> (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2013-04-04-RelocAddend.ll Wed
> Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s
> +; RUN: %lli -jit-kind=orc-mcjit %s
>  ;
>  ; Verify relocations to global symbols with addend work correctly.
>  ;
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/cross-module-a.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/cross-module-a.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/cross-module-a.ll (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/cross-module-a.ll Wed Mar 25
> 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit -extra-module=%p/Inputs/cross-module-b.ll %s >
> /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit -extra-module=%p/Inputs/cross-module-b.ll
> %s > /dev/null
>
>  declare i32 @FB()
>
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/cross-module-sm-pic-a.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/cross-module-sm-pic-a.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/cross-module-sm-pic-a.ll
> (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/cross-module-sm-pic-a.ll Wed
> Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit -extra-module=%p/Inputs/cross-module-b.ll
> -relocation-model=pic -code-model=small %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit -extra-module=%p/Inputs/cross-module-b.ll
> -relocation-model=pic -code-model=small %s > /dev/null
>  ; XFAIL: mips, i686, i386
>
>  declare i32 @FB()
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh-lg-pic.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh-lg-pic.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh-lg-pic.ll (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh-lg-pic.ll Wed Mar 25
> 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit -relocation-model=pic -code-model=large %s
> +; RUN: %lli -jit-kind=orc-mcjit -relocation-model=pic -code-model=large %s
>  ; XFAIL: cygwin, win32, mingw, mips, i686, i386, aarch64, arm, asan, msan
>  declare i8* @__cxa_allocate_exception(i64)
>  declare void @__cxa_throw(i8*, i8*, i8*)
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh-sm-pic.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh-sm-pic.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh-sm-pic.ll (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh-sm-pic.ll Wed Mar 25
> 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit -relocation-model=pic -code-model=small %s
> +; RUN: %lli -jit-kind=orc-mcjit -relocation-model=pic -code-model=small %s
>  ; XFAIL: cygwin, win32, mingw, mips, i686, i386, darwin, aarch64, arm,
> asan, msan
>  declare i8* @__cxa_allocate_exception(i64)
>  declare void @__cxa_throw(i8*, i8*, i8*)
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh.ll (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh.ll Wed Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s
> +; RUN: %lli -jit-kind=orc-mcjit %s
>  ; XFAIL: arm, cygwin, win32, mingw, asan, msan
>  declare i8* @__cxa_allocate_exception(i64)
>  declare void @__cxa_throw(i8*, i8*, i8*)
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/fpbitcast.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/fpbitcast.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/fpbitcast.ll (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/fpbitcast.ll Wed Mar 25
> 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit -force-interpreter=true %s | FileCheck %s
> +; RUN: %lli -jit-kind=orc-mcjit -force-interpreter=true %s | FileCheck %s
>  ; CHECK: 40091eb8
>
>  define i32 @test(double %x) {
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello-sm-pic.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello-sm-pic.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello-sm-pic.ll (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello-sm-pic.ll Wed Mar 25
> 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit -relocation-model=pic -code-model=small %s >
> /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit -relocation-model=pic -code-model=small
> %s > /dev/null
>  ; XFAIL: mips, i686, i386, darwin, aarch64, arm
>
>  @.LC0 = internal global [12 x i8] c"Hello World\00"            ; <[12 x
> i8]*> [#uses=1]
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello.ll (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello.ll Wed Mar 25 07:11:48
> 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  @.LC0 = internal global [12 x i8] c"Hello World\00"            ; <[12 x
> i8]*> [#uses=1]
>
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello2.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello2.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello2.ll (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello2.ll Wed Mar 25 07:11:48
> 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  @X = global i32 7              ; <i32*> [#uses=0]
>  @msg = internal global [13 x i8] c"Hello World\0A\00"          ; <[13 x
> i8]*> [#uses=1]
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/load-object-a.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/load-object-a.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/load-object-a.ll (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/load-object-a.ll Wed Mar 25
> 07:11:48 2015
> @@ -1,20 +1,20 @@
>  ; This first line will generate the .o files for the next run line
>  ; RUN: rm -rf %t.cachedir %t.cachedir2 %t.cachedir3
>  ; RUN: mkdir -p %t.cachedir %t.cachedir2 %t.cachedir3
> -; RUN: %lli -use-orcmcjit -extra-module=%p/Inputs/multi-module-b.ll
> -extra-module=%p/Inputs/multi-module-c.ll -enable-cache-manager
> -object-cache-dir=%t.cachedir %s
> +; RUN: %lli -jit-kind=orc-mcjit -extra-module=%p/Inputs/multi-module-b.ll
> -extra-module=%p/Inputs/multi-module-c.ll -enable-cache-manager
> -object-cache-dir=%t.cachedir %s
>
>  ; Collect generated objects.
>  ; RUN: find %t.cachedir -type f -name 'multi-module-?.o' -exec mv -v '{}'
> %t.cachedir2 ';'
>
>  ; This line tests MCJIT object loading
> -; RUN: %lli -use-orcmcjit -extra-object=%t.cachedir2/multi-module-b.o
> -extra-object=%t.cachedir2/multi-module-c.o %s
> +; RUN: %lli -jit-kind=orc-mcjit
> -extra-object=%t.cachedir2/multi-module-b.o
> -extra-object=%t.cachedir2/multi-module-c.o %s
>
>  ; These lines put the object files into an archive
>  ; RUN: llvm-ar r %t.cachedir3/load-object.a %t.cachedir2/multi-module-b.o
>  ; RUN: llvm-ar r %t.cachedir3/load-object.a %t.cachedir2/multi-module-c.o
>
>  ; This line test MCJIT archive loading
> -; RUN: %lli -use-orcmcjit -extra-archive=%t.cachedir3/load-object.a %s
> +; RUN: %lli -jit-kind=orc-mcjit -extra-archive=%t.cachedir3/load-object.a
> %s
>
>  declare i32 @FB()
>
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-a.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-a.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-a.ll (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-a.ll Wed Mar 25
> 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit -extra-module=%p/Inputs/multi-module-b.ll
> -extra-module=%p/Inputs/multi-module-c.ll %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit -extra-module=%p/Inputs/multi-module-b.ll
> -extra-module=%p/Inputs/multi-module-c.ll %s > /dev/null
>
>  declare i32 @FB()
>
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-eh-a.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-eh-a.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-eh-a.ll
> (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-eh-a.ll Wed Mar
> 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit -extra-module=%p/Inputs/multi-module-eh-b.ll %s
> +; RUN: %lli -jit-kind=orc-mcjit
> -extra-module=%p/Inputs/multi-module-eh-b.ll %s
>  ; XFAIL: arm, cygwin, win32, mingw, asan, msan
>  declare i8* @__cxa_allocate_exception(i64)
>  declare void @__cxa_throw(i8*, i8*, i8*)
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-sm-pic-a.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-sm-pic-a.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-sm-pic-a.ll
> (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-sm-pic-a.ll Wed
> Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit -extra-module=%p/Inputs/multi-module-b.ll
> -extra-module=%p/Inputs/multi-module-c.ll -relocation-model=pic
> -code-model=small %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit -extra-module=%p/Inputs/multi-module-b.ll
> -extra-module=%p/Inputs/multi-module-c.ll -relocation-model=pic
> -code-model=small %s > /dev/null
>  ; XFAIL: mips, i686, i386
>
>  declare i32 @FB()
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/non-extern-addend.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/non-extern-addend.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/non-extern-addend.ll
> (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/non-extern-addend.ll Wed Mar
> 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  define i32 @foo(i32 %x, i32 %y, double %d) {
>  entry:
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/pr13727.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/pr13727.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/pr13727.ll (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/pr13727.ll Wed Mar 25
> 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit -O0 -disable-lazy-compilation=false %s
> +; RUN: %lli -jit-kind=orc-mcjit -O0 -disable-lazy-compilation=false %s
>
>  ; The intention of this test is to verify that symbols mapped to COMMON
> in ELF
>  ; work as expected.
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/cross-module-a.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/cross-module-a.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/cross-module-a.ll
> (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/cross-module-a.ll Wed
> Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit -extra-module=%p/Inputs/cross-module-b.ll
> -disable-lazy-compilation=true -remote-mcjit
> -mcjit-remote-process=lli-child-target%exeext %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit -extra-module=%p/Inputs/cross-module-b.ll
> -disable-lazy-compilation=true -remote-mcjit
> -mcjit-remote-process=lli-child-target%exeext %s > /dev/null
>
>  declare i32 @FB()
>
>
> Modified:
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/cross-module-sm-pic-a.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/cross-module-sm-pic-a.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> ---
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/cross-module-sm-pic-a.ll
> (original)
> +++
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/cross-module-sm-pic-a.ll
> Wed Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit -extra-module=%p/Inputs/cross-module-b.ll
> -disable-lazy-compilation=true -remote-mcjit
> -mcjit-remote-process=lli-child-target%exeext -relocation-model=pic
> -code-model=small %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit -extra-module=%p/Inputs/cross-module-b.ll
> -disable-lazy-compilation=true -remote-mcjit
> -mcjit-remote-process=lli-child-target%exeext -relocation-model=pic
> -code-model=small %s > /dev/null
>  ; XFAIL: mips, i686, i386, arm
>
>  declare i32 @FB()
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/multi-module-a.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/multi-module-a.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/multi-module-a.ll
> (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/multi-module-a.ll Wed
> Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit -extra-module=%p/Inputs/multi-module-b.ll
> -extra-module=%p/Inputs/multi-module-c.ll -disable-lazy-compilation=true
> -remote-mcjit -mcjit-remote-process=lli-child-target%exeext %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit -extra-module=%p/Inputs/multi-module-b.ll
> -extra-module=%p/Inputs/multi-module-c.ll -disable-lazy-compilation=true
> -remote-mcjit -mcjit-remote-process=lli-child-target%exeext %s > /dev/null
>
>  declare i32 @FB()
>
>
> Modified:
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/multi-module-sm-pic-a.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/multi-module-sm-pic-a.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> ---
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/multi-module-sm-pic-a.ll
> (original)
> +++
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/multi-module-sm-pic-a.ll
> Wed Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit -extra-module=%p/Inputs/multi-module-b.ll
> -extra-module=%p/Inputs/multi-module-c.ll -disable-lazy-compilation=true
> -remote-mcjit -mcjit-remote-process=lli-child-target%exeext
> -relocation-model=pic -code-model=small %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit -extra-module=%p/Inputs/multi-module-b.ll
> -extra-module=%p/Inputs/multi-module-c.ll -disable-lazy-compilation=true
> -remote-mcjit -mcjit-remote-process=lli-child-target%exeext
> -relocation-model=pic -code-model=small %s > /dev/null
>  ; XFAIL: mips, i686, i386, arm
>
>  declare i32 @FB()
>
> Modified:
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/simpletest-remote.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/simpletest-remote.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/simpletest-remote.ll
> (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/simpletest-remote.ll
> Wed Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit -remote-mcjit
> -mcjit-remote-process=lli-child-target%exeext %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit
> -mcjit-remote-process=lli-child-target%exeext %s > /dev/null
>
>  define i32 @bar() nounwind {
>         ret i32 0
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/stubs-remote.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/stubs-remote.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/stubs-remote.ll
> (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/stubs-remote.ll Wed
> Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit -remote-mcjit -disable-lazy-compilation=false
> -mcjit-remote-process=lli-child-target%exeext %s
> +; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit
> -disable-lazy-compilation=false
> -mcjit-remote-process=lli-child-target%exeext %s
>  ; XFAIL: *
>  ; This test should fail until remote symbol resolution is supported.
>
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/stubs-sm-pic.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/stubs-sm-pic.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/stubs-sm-pic.ll
> (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/stubs-sm-pic.ll Wed
> Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit -remote-mcjit -disable-lazy-compilation=false
> -relocation-model=pic -code-model=small %s
> +; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit
> -disable-lazy-compilation=false -relocation-model=pic -code-model=small %s
>  ; XFAIL: *
>  ; This function should fail until remote symbol resolution is supported.
>
>
> Modified:
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-common-symbols-remote.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-common-symbols-remote.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> ---
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-common-symbols-remote.ll
> (original)
> +++
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-common-symbols-remote.ll
> Wed Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit -remote-mcjit -O0
> -disable-lazy-compilation=false
> -mcjit-remote-process=lli-child-target%exeext %s
> +; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit -O0
> -disable-lazy-compilation=false
> -mcjit-remote-process=lli-child-target%exeext %s
>
>  ; The intention of this test is to verify that symbols mapped to COMMON
> in ELF
>  ; work as expected.
>
> Modified:
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-data-align-remote.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-data-align-remote.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> ---
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-data-align-remote.ll
> (original)
> +++
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-data-align-remote.ll
> Wed Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN:  %lli -use-orcmcjit -remote-mcjit -O0
> -mcjit-remote-process=lli-child-target%exeext %s
> +; RUN:  %lli -jit-kind=orc-mcjit -remote-mcjit -O0
> -mcjit-remote-process=lli-child-target%exeext %s
>
>  ; Check that a variable is always aligned as specified.
>
>
> Modified:
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-fp-no-external-funcs-remote.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-fp-no-external-funcs-remote.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> ---
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-fp-no-external-funcs-remote.ll
> (original)
> +++
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-fp-no-external-funcs-remote.ll
> Wed Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit -remote-mcjit
> -mcjit-remote-process=lli-child-target%exeext %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit
> -mcjit-remote-process=lli-child-target%exeext %s > /dev/null
>
>  define double @test(double* %DP, double %Arg) nounwind {
>         %D = load double, double* %DP           ; <double> [#uses=1]
>
> Modified:
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-remote.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-remote.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> ---
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-remote.ll
> (original)
> +++
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-remote.ll
> Wed Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit -remote-mcjit
> -mcjit-remote-process=lli-child-target%exeext %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit
> -mcjit-remote-process=lli-child-target%exeext %s > /dev/null
>
>  @count = global i32 1, align 4
>
>
> Modified:
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> ---
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll
> (original)
> +++
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll
> Wed Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit -remote-mcjit -relocation-model=pic
> -code-model=small %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit -relocation-model=pic
> -code-model=small %s > /dev/null
>  ; XFAIL: mips, aarch64, arm, i686, i386
>
>  @count = global i32 1, align 4
>
> Modified:
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-remote.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-remote.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> ---
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-remote.ll
> (original)
> +++
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-remote.ll
> Wed Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit -remote-mcjit -O0
> -mcjit-remote-process=lli-child-target%exeext %s
> +; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit -O0
> -mcjit-remote-process=lli-child-target%exeext %s
>
>  @.str = private unnamed_addr constant [6 x i8] c"data1\00", align 1
>  @ptr = global i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i32
> 0, i32 0), align 4
>
> Modified:
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> ---
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll
> (original)
> +++
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll
> Wed Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit -remote-mcjit -O0 -relocation-model=pic
> -code-model=small %s
> +; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit -O0 -relocation-model=pic
> -code-model=small %s
>  ; XFAIL: mips, aarch64, arm, i686, i386
>
>  @.str = private unnamed_addr constant [6 x i8] c"data1\00", align 1
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/simplesttest.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/simplesttest.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/simplesttest.ll (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/simplesttest.ll Wed Mar 25
> 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  define i32 @main() {
>         ret i32 0
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/simpletest.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/simpletest.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/simpletest.ll (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/simpletest.ll Wed Mar 25
> 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  define i32 @bar() {
>         ret i32 0
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll Wed Mar 25
> 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit -disable-lazy-compilation=false
> -relocation-model=pic -code-model=small %s
> +; RUN: %lli -jit-kind=orc-mcjit -disable-lazy-compilation=false
> -relocation-model=pic -code-model=small %s
>  ; XFAIL: mips, i686, i386, aarch64, arm
>
>  define i32 @main() nounwind {
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/stubs.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/stubs.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/stubs.ll (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/stubs.ll Wed Mar 25 07:11:48
> 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit -disable-lazy-compilation=false %s
> +; RUN: %lli -jit-kind=orc-mcjit -disable-lazy-compilation=false %s
>
>  define i32 @main() nounwind {
>  entry:
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-arith.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-arith.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-arith.ll (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-arith.ll Wed Mar 25
> 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  define i32 @main() {
>         %A = add i8 0, 12               ; <i8> [#uses=1]
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-branch.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-branch.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-branch.ll (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-branch.ll Wed Mar 25
> 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  ; test unconditional branch
>  define i32 @main() {
>
> Modified:
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-call-no-external-funcs.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-call-no-external-funcs.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> ---
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-call-no-external-funcs.ll
> (original)
> +++
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-call-no-external-funcs.ll Wed
> Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  define i32 @_Z14func_exit_codev() nounwind uwtable {
>  entry:
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-call.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-call.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-call.ll (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-call.ll Wed Mar 25
> 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  declare void @exit(i32)
>
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-cast.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-cast.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-cast.ll (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-cast.ll Wed Mar 25
> 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  define i32 @foo() {
>         ret i32 0
>
> Modified:
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-common-symbols-alignment.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-common-symbols-alignment.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> ---
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-common-symbols-alignment.ll
> (original)
> +++
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-common-symbols-alignment.ll
> Wed Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit -O0 %s
> +; RUN: %lli -jit-kind=orc-mcjit -O0 %s
>
>  ; This test checks that common symbols have been allocated addresses
> honouring
>  ; the alignment requirement.
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-common-symbols.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-common-symbols.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-common-symbols.ll
> (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-common-symbols.ll Wed
> Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit -O0 -disable-lazy-compilation=false %s
> +; RUN: %lli -jit-kind=orc-mcjit -O0 -disable-lazy-compilation=false %s
>
>  ; The intention of this test is to verify that symbols mapped to COMMON
> in ELF
>  ; work as expected.
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-constantexpr.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-constantexpr.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-constantexpr.ll
> (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-constantexpr.ll Wed Mar
> 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  ; This tests to make sure that we can evaluate weird constant expressions
>
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-data-align.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-data-align.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-data-align.ll (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-data-align.ll Wed Mar 25
> 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit -O0 %s
> +; RUN: %lli -jit-kind=orc-mcjit -O0 %s
>
>  ; Check that a variable is always aligned as specified.
>
>
> Modified:
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-fp-no-external-funcs.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-fp-no-external-funcs.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-fp-no-external-funcs.ll
> (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-fp-no-external-funcs.ll
> Wed Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  define double @test(double* %DP, double %Arg) {
>         %D = load double, double* %DP           ; <double> [#uses=1]
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-fp.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-fp.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-fp.ll (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-fp.ll Wed Mar 25
> 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  define double @test(double* %DP, double %Arg) {
>         %D = load double, double* %DP           ; <double> [#uses=1]
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-ctors.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-ctors.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-ctors.ll
> (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-ctors.ll Wed Mar
> 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>  ; XFAIL: darwin
>  @var = global i32 1, align 4
>  @llvm.global_ctors = appending global [1 x { i32, void ()* }] [{ i32,
> void ()* } { i32 65535, void ()* @ctor_func }]
>
> Modified:
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero-sm-pic.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero-sm-pic.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> ---
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero-sm-pic.ll
> (original)
> +++
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero-sm-pic.ll
> Wed Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit -relocation-model=pic -code-model=small %s >
> /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit -relocation-model=pic -code-model=small
> %s > /dev/null
>  ; XFAIL: mips, aarch64, arm, i686, i386
>
>  @count = global i32 1, align 4
>
> Modified:
> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero.ll
> (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero.ll
> Wed Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  @count = global i32 1, align 4
>
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global.ll (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global.ll Wed Mar 25
> 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  @count = global i32 0, align 4
>
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-loadstore.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-loadstore.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-loadstore.ll (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-loadstore.ll Wed Mar 25
> 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  define void @test(i8* %P, i16* %P.upgrd.1, i32* %P.upgrd.2, i64*
> %P.upgrd.3) {
>         %V = load i8, i8* %P            ; <i8> [#uses=1]
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-local.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-local.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-local.ll (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-local.ll Wed Mar 25
> 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  define i32 @main() nounwind uwtable {
>  entry:
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-logical.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-logical.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-logical.ll (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-logical.ll Wed Mar 25
> 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  define i32 @main() {
>         %A = and i8 4, 8                ; <i8> [#uses=2]
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-loop.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-loop.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-loop.ll (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-loop.ll Wed Mar 25
> 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  define i32 @main() {
>  ; <label>:0
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-phi.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-phi.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-phi.ll (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-phi.ll Wed Mar 25
> 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  ; test phi node
>  @Y = global i32 6              ; <i32*> [#uses=1]
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc-sm-pic.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc-sm-pic.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc-sm-pic.ll
> (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc-sm-pic.ll Wed
> Mar 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit -O0 -relocation-model=pic -code-model=small %s
> +; RUN: %lli -jit-kind=orc-mcjit -O0 -relocation-model=pic
> -code-model=small %s
>  ; XFAIL: mips, aarch64, arm, i686, i386
>
>  @.str = private unnamed_addr constant [6 x i8] c"data1\00", align 1
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc.ll (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc.ll Wed Mar 25
> 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit -O0 %s
> +; RUN: %lli -jit-kind=orc-mcjit -O0 %s
>
>  @.str = private unnamed_addr constant [6 x i8] c"data1\00", align 1
>  @ptr = global i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i32
> 0, i32 0), align 4
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ret.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ret.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ret.ll (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ret.ll Wed Mar 25
> 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  ; test return instructions
>  define void @test1() {
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-return.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-return.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-return.ll (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-return.ll Wed Mar 25
> 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  define i32 @main() nounwind uwtable {
>  entry:
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-setcond-fp.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-setcond-fp.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-setcond-fp.ll (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-setcond-fp.ll Wed Mar 25
> 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>
>  define i32 @main() {
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-setcond-int.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-setcond-int.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-setcond-int.ll (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-setcond-int.ll Wed Mar
> 25 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  define i32 @main() {
>         %int1 = add i32 0, 0            ; <i32> [#uses=6]
>
> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-shift.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-shift.ll?rev=233182&r1=233180&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-shift.ll (original)
> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-shift.ll Wed Mar 25
> 07:11:48 2015
> @@ -1,4 +1,4 @@
> -; RUN: %lli -use-orcmcjit %s > /dev/null
> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>
>  define i32 @main() {
>         %shamt = add i8 0, 1            ; <i8> [#uses=8]
>
> Modified: llvm/trunk/tools/lli/CMakeLists.txt
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/lli/CMakeLists.txt?rev=233182&r1=233181&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/lli/CMakeLists.txt (original)
> +++ llvm/trunk/tools/lli/CMakeLists.txt Wed Mar 25 07:11:48 2015
> @@ -35,6 +35,7 @@ endif( LLVM_USE_INTEL_JITEVENTS )
>
>  add_llvm_tool(lli
>    lli.cpp
> +  OrcLazyJIT.cpp
>    RemoteMemoryManager.cpp
>    RemoteTarget.cpp
>    RemoteTargetExternal.cpp
>
> Added: llvm/trunk/tools/lli/OrcLazyJIT.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/lli/OrcLazyJIT.cpp?rev=233182&view=auto
>
> ==============================================================================
> --- llvm/trunk/tools/lli/OrcLazyJIT.cpp (added)
> +++ llvm/trunk/tools/lli/OrcLazyJIT.cpp Wed Mar 25 07:11:48 2015
> @@ -0,0 +1,53 @@
> +//===------ OrcLazyJIT.cpp - Basic Orc-based JIT for lazy execution
> -------===//
> +//
> +//                     The LLVM Compiler Infrastructure
> +//
> +// This file is distributed under the University of Illinois Open Source
> +// License. See LICENSE.TXT for details.
> +//
>
> +//===----------------------------------------------------------------------===//
> +
> +#include "OrcLazyJIT.h"
> +#include "llvm/ExecutionEngine/Orc/OrcTargetSupport.h"
> +
> +using namespace llvm;
> +
> +std::unique_ptr<OrcLazyJIT::CompileCallbackMgr>
> +OrcLazyJIT::createCallbackMgr(Triple T, LLVMContext &Context) {
> +  switch (T.getArch()) {
> +    default:
> +      // Flag error.
> +      Error = true;
> +      return nullptr;
> +
> +    case Triple::x86_64: {
> +      typedef orc::JITCompileCallbackManager<CompileLayerT,
>

CompileLayerT? That seems like a strange type name - I'd expect BlahT to be
a template type parameter, perhaps?


> +                                             orc::OrcX86_64> CCMgrT;
> +      return make_unique<CCMgrT>(CompileLayer, Context, 0, 64);
> +    }
> +  }
> +}
> +
> +int llvm::runOrcLazyJIT(std::unique_ptr<Module> M, int ArgC, char*
> ArgV[]) {
> +  OrcLazyJIT
> J(std::unique_ptr<TargetMachine>(EngineBuilder().selectTarget()),
>

Is it practical/worth unique_ptr-izing selectTarget?


> +               getGlobalContext());
> +
> +  if (!J.Ok()) {
> +    errs() << "Could not construct JIT.\n";
> +    return 1;
> +  }
> +
> +  auto MainHandle = J.addModule(std::move(M));
> +  auto MainSym = J.findSymbolIn(MainHandle, "main");
> +
> +  if (!MainSym) {
> +    errs() << "Could not find main function.\n";
> +    return 1;
> +  }
> +
> +  typedef int (*MainFnPtr)(int, char*[]);
> +  auto Main = reinterpret_cast<MainFnPtr>(
> +                static_cast<uintptr_t>(MainSym.getAddress()));


I guess getAddress doesn't return uintptr_t for the times when you're doing
cross-architecture execution?


>

+
> +  return Main(ArgC, ArgV);
> +}
>
> Added: llvm/trunk/tools/lli/OrcLazyJIT.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/lli/OrcLazyJIT.h?rev=233182&view=auto
>
> ==============================================================================
> --- llvm/trunk/tools/lli/OrcLazyJIT.h (added)
> +++ llvm/trunk/tools/lli/OrcLazyJIT.h Wed Mar 25 07:11:48 2015
> @@ -0,0 +1,97 @@
> +//===--- OrcLazyJIT.h - Basic Orc-based JIT for lazy execution --*- C++
> -*-===//
> +//
> +//                     The LLVM Compiler Infrastructure
> +//
> +// This file is distributed under the University of Illinois Open Source
> +// License. See LICENSE.TXT for details.
> +//
>
> +//===----------------------------------------------------------------------===//
> +//
> +// Simple Orc-based JIT. Uses the compile-on-demand layer to break up and
> +// lazily compile modules.
> +//
>
> +//===----------------------------------------------------------------------===//
> +
> +#ifndef LLVM_TOOLS_LLI_ORCLAZYJIT_H
> +#define LLVM_TOOLS_LLI_ORCLAZYJIT_H
> +
> +#include "llvm/ADT/Triple.h"
> +#include "llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h"
> +#include "llvm/ExecutionEngine/Orc/CompileUtils.h"
> +#include "llvm/ExecutionEngine/Orc/IRCompileLayer.h"
> +#include "llvm/ExecutionEngine/Orc/LazyEmittingLayer.h"
> +#include "llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h"
> +#include "llvm/IR/LLVMContext.h"
> +
> +namespace llvm {
> +
> +class OrcLazyJIT {
> +public:
> +
> +  typedef orc::JITCompileCallbackManagerBase CompileCallbackMgr;
> +  typedef orc::ObjectLinkingLayer<> ObjLayerT;
> +  typedef orc::IRCompileLayer<ObjLayerT> CompileLayerT;
> +  typedef orc::LazyEmittingLayer<CompileLayerT> LazyEmitLayerT;
> +  typedef orc::CompileOnDemandLayer<LazyEmitLayerT,
> +                                    CompileCallbackMgr> CODLayerT;
> +  typedef typename CODLayerT::ModuleSetHandleT ModuleHandleT;
>

Ah, here are all the FooTs... hmm, wonder if there's a better naming
scheme? Maybe not.


> +
> +  OrcLazyJIT(std::unique_ptr<TargetMachine> TM, LLVMContext &Context)
> +    : Error(false), TM(std::move(TM)),
> +      Mang(this->TM->getDataLayout()),
> +      ObjectLayer([](){ return llvm::make_unique<SectionMemoryManager>();
> }),
> +      CompileLayer(ObjectLayer, orc::SimpleCompiler(*this->TM)),
> +      LazyEmitLayer(CompileLayer),
> +      CCMgr(createCallbackMgr(Triple(this->TM->getTargetTriple()),
> Context)),
> +      CODLayer(LazyEmitLayer, *CCMgr) { }
> +
> +  bool Ok() const { return !Error; }
>

explicit operator bool?


> +
> +  ModuleHandleT addModule(std::unique_ptr<Module> M) {
> +    // Attach a data-layout if one isn't already present.
> +    if (M->getDataLayout().isDefault())
> +      M->setDataLayout(*TM->getDataLayout());
> +
> +    std::vector<std::unique_ptr<Module>> S;
> +    S.push_back(std::move(M));
> +    return CODLayer.addModuleSet(std::move(S));
> +  }
> +
> +  orc::JITSymbol findSymbol(const std::string &Name) {
> +    return CODLayer.findSymbol(mangle(Name), true);
> +  }
> +
> +  orc::JITSymbol findSymbolIn(ModuleHandleT H, const std::string &Name) {
> +    return CODLayer.findSymbolIn(H, mangle(Name), true);
> +  }
> +
> +private:
> +
> +  std::unique_ptr<CompileCallbackMgr>
> +  createCallbackMgr(Triple T, LLVMContext &Context);
> +
> +  std::string mangle(const std::string &Name) {
> +    std::string MangledName;
> +    {
> +      raw_string_ostream MangledNameStream(MangledName);
> +      Mang.getNameWithPrefix(MangledNameStream, Name);
> +    }
> +    return MangledName;
> +  }
> +
> +  bool Error;
> +  std::unique_ptr<TargetMachine> TM;
> +  Mangler Mang;
> +
> +  ObjLayerT ObjectLayer;
> +  CompileLayerT CompileLayer;
> +  LazyEmitLayerT LazyEmitLayer;
> +  std::unique_ptr<CompileCallbackMgr> CCMgr;
> +  CODLayerT CODLayer;
> +};
> +
> +int runOrcLazyJIT(std::unique_ptr<Module> M, int ArgC, char* ArgV[]);
> +
> +} // end namespace llvm
> +
> +#endif
>
> Modified: llvm/trunk/tools/lli/lli.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/lli/lli.cpp?rev=233182&r1=233181&r2=233182&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/lli/lli.cpp (original)
> +++ llvm/trunk/tools/lli/lli.cpp Wed Mar 25 07:11:48 2015
> @@ -14,6 +14,7 @@
>
>  //===----------------------------------------------------------------------===//
>
>  #include "llvm/IR/LLVMContext.h"
> +#include "OrcLazyJIT.h"
>  #include "RemoteMemoryManager.h"
>  #include "RemoteTarget.h"
>  #include "RemoteTargetExternal.h"
> @@ -66,6 +67,9 @@ using namespace llvm;
>  #define DEBUG_TYPE "lli"
>
>  namespace {
> +
> +  enum class JITKind { MCJIT, OrcMCJITReplacement, OrcLazy };
> +
>    cl::opt<std::string>
>    InputFile(cl::desc("<input bitcode>"), cl::Positional, cl::init("-"));
>
> @@ -76,12 +80,19 @@ namespace {
>                                   cl::desc("Force interpretation: disable
> JIT"),
>                                   cl::init(false));
>
> -  cl::opt<bool> UseOrcMCJITReplacement("use-orcmcjit",
> -                                       cl::desc("Use the experimental "
> -                                                "OrcMCJITReplacement as a
> "
> -                                                "drop-in replacement for "
> -                                                "MCJIT."),
> -                                       cl::init(false));
> +  cl::opt<JITKind> UseJITKind("jit-kind",
> +                              cl::desc("Choose underlying JIT kind."),
> +                              cl::init(JITKind::MCJIT),
> +                              cl::values(
> +                                clEnumValN(JITKind::MCJIT, "mcjit",
> +                                           "MCJIT"),
> +                                clEnumValN(JITKind::OrcMCJITReplacement,
> +                                           "orc-mcjit",
> +                                           "Orc-based MCJIT replacement"),
> +                                clEnumValN(JITKind::OrcLazy,
> +                                           "orc-lazy",
> +                                           "Orc-based lazy JIT."),
> +                                clEnumValEnd));
>
>    // The MCJIT supports building for a target address space separate from
>    // the JIT compilation process. Use a forked process and a copying
> @@ -404,6 +415,9 @@ int main(int argc, char **argv, char * c
>      return 1;
>    }
>
> +  if (UseJITKind == JITKind::OrcLazy)
> +    return runOrcLazyJIT(std::move(Owner), argc, argv);
> +
>    if (EnableCacheManager) {
>      std::string CacheName("file:");
>      CacheName.append(InputFile);
> @@ -430,7 +444,7 @@ int main(int argc, char **argv, char * c
>    builder.setEngineKind(ForceInterpreter
>                          ? EngineKind::Interpreter
>                          : EngineKind::JIT);
> -  builder.setUseOrcMCJITReplacement(UseOrcMCJITReplacement);
> +  builder.setUseOrcMCJITReplacement(UseJITKind ==
> JITKind::OrcMCJITReplacement);
>
>    // If we are supposed to override the target triple, do so now.
>    if (!TargetTriple.empty())
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150325/3d88926e/attachment.html>


More information about the llvm-commits mailing list