<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 30, 2015 at 11:41 AM, Lang Hames <span dir="ltr"><<a href="mailto:lhames@gmail.com" target="_blank">lhames@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Dave,<div><br></div><div>> More or less - it's an implementation detail, but I'd consider pulling out the logic of the JIT instance's ctor into the factory function so that it doesn't have to have a !ok state, it just returns from the factory directly on the failure cases, then if it doesn't fail initializing the structures - it passes them to the JIT instance's ctor which can't fail at this point because all the failures have been dealt with.<br><br><div class="gmail_extra">There's a problem with that, at least the way things are written at the moment: The CompileOnDemand layer needs a reference to a CompileCallbackManager (so that it can inject JIT callbacks), and the CompileCallbackManager needs a reference to a lower JIT layer so that it can output callback code. These are all class members, so they have to be initialised in the constructor. The potential failure point is the CompileCallbackManager: There may not be one for the target.</div><div class="gmail_extra"><br></div><div class="gmail_extra">In r233579 I've solved this by separating the selection of callback managers (which can fail if there isn't one for the target) from the construction of the callback manager (which should always work, assuming you get that far). Now runOrcLazyJIT looks like:</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><font face="monospace, monospace">auto CallbackManagerBuilder = createCallbackManagerBuilder(Target);</font></div><div class="gmail_extra"><font face="monospace, monospace">if (!CallbackManagerBuilder)</font></div><div class="gmail_extra"><font face="monospace, monospace">  return 1; // No callback manager for target.</font></div><div class="gmail_extra"><font face="monospace, monospace">OrcLazyJIT J(..., CallbackManagerBuilder); // <- Construction is now guaranteed.</font></div><div class="gmail_extra"><font face="monospace, monospace">... // Do stuff with the JIT</font></div><div class="gmail_extra"><br></div><div class="gmail_extra">What do you think?</div></div></div></blockquote><div><br>Looks plausible. Haven't thought too hard about it.<br><br>- David<br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div class="gmail_extra"><br></div><div class="gmail_extra">- Lang.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Here's a thought though: The reason you might fail to build a callback manager is that there may not be one for your class, so the solution is just to have the </div><div class="gmail_extra"><br></div><div class="gmail_extra"><div class="gmail_quote">On Mon, Mar 30, 2015 at 10:43 AM, David Blaikie <span dir="ltr"><<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 30, 2015 at 10:12 AM, Lang Hames <span dir="ltr"><<a href="mailto:lhames@gmail.com" target="_blank">lhames@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">Hi Dave,<div><br></div><div>> Ah, I'd assumed the large number of test case updates were to make those tests use the Orc lazy JIT, I see they just changed the command line syntax for how to specify the Orc MCJIT. All these test cases could also use the lazy JIT, right? (so we essentially want to run all the JIT tests with all the JITs - has a certain symmetry to it? but at '3' we do start wanting a way to streamline that repetition somehow)<br> </div><div>I'm not sure. I think it's probably time for an audit of these regression tests to check the following:</div><div>(a) Which should really be CodeGen tests. Ii.e. tests that showed up in the JIT first because it uses a different default code-model/relocation-model/optimization-level.</div><div>(b) Which should be unit tests.</div><div>(c) Which should really be JIT regression tests, and which JIT they really apply to.</div><div><br></div><div>That last question is particularly pertinent here. Most of the JIT tests are really just exercising codegen. If they work for one JIT, they'll work for all of them. Running them redundantly is unnecessary work. I've duplicated everything for OrcMCJITReplacement, but only because I want to make a strong guarantee that the behaviour is identical. For the lazy JIT I want to be selective and only introduce regression tests that really test the laziness aspect. Since we can't actually test the laziness yet, the only lazy-jit test is the sanity check that it works at all. </div></div></blockquote><div><br>Fair enough-ish. I'd still be curious about commenting in the test case about which features are interesting & why. From the test it's not obvious if it could be simplified/changed while preserving its purpose.<br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><div class="gmail_extra"><br></div><div class="gmail_extra">> What's your current take on preferred naming, if it were to be cleaned up? trailing T for both templates and these typedefs? Or something else in mind for the typedefs?<br><div class="gmail_quote"><br></div><div class="gmail_quote">I'm very open to suggestions here. My current thinking is that it's best to keep the trailing T on the template parameters and drop it on typedefs. That leaves the problem of naming the members differently from their typedefs though.</div></div></div></div></blockquote><div><br>Yep, fair enough.<br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><div class="gmail_extra"><div class="gmail_quote"><br></div><div class="gmail_quote">> In the absence of exceptions, I'd consider a factory function returning Optional<T> (there might be a std::error_or<T> or similar device somewhere if you need a more expressive failure result) - though for many use cases that'd only really be ideal if T is movable (because you want to drop the Optional wrapping ASAP rather than having it hanging around through other APIs, etc) - but in this case even non-movable, it's only a handful of uses of T that need to be -> instead of ., which is probably fine.<br></div><div class="gmail_quote"><br></div><div class="gmail_quote">In that case the factory would really just be wrapping what we have now, right? I.e. Try to construct the JIT instance, call 'ok()', return the instance if it passes and return null if it fails?</div></div></div></div></blockquote><div><br>More or less - it's an implementation detail, but I'd consider pulling out the logic of the JIT instance's ctor into the factory function so that it doesn't have to have a !ok state, it just returns from the factory directly on the failure cases, then if it doesn't fail initializing the structures - it passes them to the JIT instance's ctor which can't fail at this point because all the failures have been dealt with.<br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><div class="gmail_extra"><div class="gmail_quote"><br></div><div class="gmail_quote">I think that's worthwhile if/when we make the lazy stack publicly accessible, but while it's local to lli I don't think it buys us much.</div><div class="gmail_quote"><br></div><div class="gmail_quote">- Lang.</div><div class="gmail_quote"><br></div><div class="gmail_quote">On Fri, Mar 27, 2015 at 8:28 AM, David Blaikie <span dir="ltr"><<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 25, 2015 at 4:17 PM, Lang Hames <span dir="ltr"><<a href="mailto:lhames@gmail.com" target="_blank">lhames@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">> could/should we deduplicate the MCJIT+ORCJIT test cases<div><br></div><div>Yep. I think the duplication is left-over laziness from my internal Orc development branch. I'll try to merge them today.</div><div><br></div><div>> 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.<br>></div><div>> 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?<br> <br></div><div><div class="gmail_extra">Some context for this test probably helps (though I think you've guessed most of it):</div><div class="gmail_extra"><br></div><div class="gmail_extra">OrcLazyJIT is a different JIT from OrcMCJITReplacement, although they share a lot of common components. I've introduced OrcLazyJIT as a playground for us to try out new LLVM JIT designs that aren't bound to ExecutionEngine's interface, or MCJIT's behavior. Hayden Livingston (and possibly others?) have expressed interest in having a canonical Orc stack exposed via the C-API. OrcLazyJIT is where I imagine us road-testing ideas for that canonical stack.</div><div class="gmail_extra"><br></div><div class="gmail_extra">The current point of difference (and it's a significant one) is that OrcLazyJIT uses the CompileOnDemand layer. It's the first and only client of that layer in-tree, except for the Orc Kaleidoscope tutorials which most people don't build. The test sanity checks that that layer can sanely consume code, though it doesn't prove that it's actually lazily compiling.</div></div></div></blockquote><div><br>Ah, I'd assumed the large number of test case updates were to make those tests use the Orc lazy JIT, I see they just changed the command line syntax for how to specify the Orc MCJIT. All these test cases could also use the lazy JIT, right? (so we essentially want to run all the JIT tests with all the JITs - has a certain symmetry to it? but at '3' we do start wanting a way to streamline that repetition somehow)<br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra">I'd love to turn that test into an actual test of laziness, but for that we'll need sensible debugging output from the Orc layers, which they don't have yet.<br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><span style="font-size:13px">> CompileLayerT? That seems like a strange type name - I'd expect BlahT to be a template type parameter, perhaps?</span><br></div><div class="gmail_extra"><span style="font-size:13px"><br></span></div><div class="gmail_extra">Yeah. My use of the T suffix is not as consistent as I'd like. I use it regularly for template arguments, but I've also used it haphazardly to differentiate between typedefs and member variables. Patches that fix those naming issues are very welcome, and I'll try to tidy them up as I go.</div></div></blockquote><div><br>What's your current take on preferred naming, if it were to be cleaned up? trailing T for both templates and these typedefs? Or something else in mind for the typedefs?<br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><br></div><div class="gmail_extra"> > <span style="font-size:13px">Is it practical/worth unique_ptr-izing selectTarget?</span></div><div class="gmail_extra"><span style="font-size:13px"><br></span></div><div class="gmail_extra"><span style="font-size:13px">Yep.</span></div><div class="gmail_extra"><span style="font-size:13px"><br></span></div><div class="gmail_extra"><span style="font-size:13px">> </span><span style="font-size:13px">I guess getAddress doesn't return uintptr_t for the times when you're doing cross-architecture execution?</span></div><div class="gmail_extra"><span style="font-size:13px"><br></span></div><div class="gmail_extra">Yep. The CompileOnDemand layer is hosted-jit-only at the moment, but that's just because I haven't gotten around to adding a "transport" abstraction between the resolver block (JIT-reentry assembly) and the JITCompileCallbackManager. CompileOnDemand's interface is written with the same cross-target support as the other layers, including returning a TargetAddress (uint64_t) rather than a uintptr_t.</div><div class="gmail_extra"><br></div><div class="gmail_extra">> <span style="font-size:13px">explicit operator bool?</span></div><div class="gmail_extra"><span style="font-size:13px"><br></span></div><div class="gmail_extra">I really dislike the form of this check, but didn't want to delay committing this any longer. What I really want is to throw an exception from the constructor, but we don't do that sort of thing. Maybe a better option would be to have a bool &Error argument to the constructor that tells you if it was constructed sanely?</div></div></blockquote><div><br>In the absence of exceptions, I'd consider a factory function returning Optional<T> (there might be a std::error_or<T> or similar device somewhere if you need a more expressive failure result) - though for many use cases that'd only really be ideal if T is movable (because you want to drop the Optional wrapping ASAP rather than having it hanging around through other APIs, etc) - but in this case even non-movable, it's only a handful of uses of T that need to be -> instead of ., which is probably fine.<br><br>- David<br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><br></div><div class="gmail_extra"><span style="font-size:13px">Cheers,</span></div><div class="gmail_extra"><span style="font-size:13px">Lang.</span></div><div class="gmail_extra"><span style="font-size:13px"><br></span></div><div class="gmail_extra"><div class="gmail_quote">On Thu, Mar 26, 2015 at 4:27 AM, David Blaikie <span dir="ltr"><<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 25, 2015 at 5:11 AM, Lang Hames <span dir="ltr"><<a href="mailto:lhames@gmail.com" target="_blank">lhames@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Author: lhames<br>
Date: Wed Mar 25 07:11:48 2015<br>
New Revision: 233182<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=233182&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=233182&view=rev</a><br>
Log:<br>
[Orc][lli] Add a very simple Orc-based lazy JIT to lli.<br>
<br>
This ensures that we're building and testing the CompileOnDemand layer, at least<br>
in a basic way.<br>
<br>
Currently x86-64 only, and with limited to no library calls enabled (depending<br>
on host platform). Patches welcome. ;)<br>
<br>
To enable access to the lazy JIT, this patch replaces the '-use-orcmcjit' lli<br>
option with a new option:<br>
'-jit-kind={ mcjit | orc-mcjit | orc-lazy }'.<br>
<br>
All regression tests are updated to use the new option, </blockquote><div><br>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?<br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">and one trivial test of<br>
the new lazy JIT is added.<br>
<br>
<br>
Added:<br>
    llvm/trunk/test/ExecutionEngine/OrcLazy/<br>
    llvm/trunk/test/ExecutionEngine/OrcLazy/lit.local.cfg<br>
    llvm/trunk/test/ExecutionEngine/OrcLazy/trivial_retval_1.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/<br>
      - copied from r233180, llvm/trunk/test/ExecutionEngine/OrcJIT/<br>
    llvm/trunk/tools/lli/OrcLazyJIT.cpp<br>
    llvm/trunk/tools/lli/OrcLazyJIT.h<br>
Removed:<br>
    llvm/trunk/test/ExecutionEngine/OrcJIT/<br>
Modified:<br>
    llvm/trunk/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/2002-12-16-ArgTest.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-ArgumentBug.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-LoopTest.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-PhiTest.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-09-SARTest.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-10-FUCOM.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-15-AlignmentTest.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-06-LivenessClobber.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-07-ArgumentTest.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-11-PHIRegAllocBug.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-06-04-bzip2-bug.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-06-05-PHIBug.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-15-AllocaAssertion.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-21-EnvironmentTest.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-23-RegisterAllocatePhysReg.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/2005-12-02-TailCallBug.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/2007-12-10-APIntLoadStore.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/2008-06-05-APInt-OverAShr.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/2013-04-04-RelocAddend.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/cross-module-a.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/cross-module-sm-pic-a.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh-lg-pic.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh-sm-pic.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/fpbitcast.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello-sm-pic.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello2.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/load-object-a.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-a.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-eh-a.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-sm-pic-a.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/non-extern-addend.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/pr13727.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/cross-module-a.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/cross-module-sm-pic-a.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/multi-module-a.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/multi-module-sm-pic-a.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/simpletest-remote.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/stubs-remote.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/stubs-sm-pic.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-common-symbols-remote.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-data-align-remote.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-fp-no-external-funcs-remote.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-remote.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-remote.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/simplesttest.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/simpletest.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/stubs.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-arith.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-branch.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-call-no-external-funcs.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-call.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-cast.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-common-symbols-alignment.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-common-symbols.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-constantexpr.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-data-align.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-fp-no-external-funcs.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-fp.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-ctors.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero-sm-pic.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-loadstore.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-local.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-logical.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-loop.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-phi.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc-sm-pic.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ret.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-return.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-setcond-fp.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-setcond-int.ll<br>
    llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-shift.ll<br>
    llvm/trunk/tools/lli/CMakeLists.txt<br>
    llvm/trunk/tools/lli/lli.cpp<br>
<br>
Modified: llvm/trunk/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h?rev=233182&r1=233181&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h?rev=233182&r1=233181&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h (original)<br>
+++ llvm/trunk/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h Wed Mar 25 07:11:48 2015<br>
@@ -193,8 +193,8 @@ public:<br>
   ///        below this one.<br>
   JITSymbol findSymbolIn(ModuleSetHandleT H, const std::string &Name,<br>
                          bool ExportedSymbolsOnly) {<br>
-    BaseLayerModuleSetHandleListT &BaseLayerHandles = H->second;<br>
-    for (auto &BH : BaseLayerHandles) {<br>
+<br>
+    for (auto &BH : H->BaseLayerModuleSetHandles) {<br>
       if (auto Symbol = BaseLayer.findSymbolIn(BH, Name, ExportedSymbolsOnly))<br>
         return Symbol;<br>
     }<br>
<br>
Added: llvm/trunk/test/ExecutionEngine/OrcLazy/lit.local.cfg<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcLazy/lit.local.cfg?rev=233182&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcLazy/lit.local.cfg?rev=233182&view=auto</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcLazy/lit.local.cfg (added)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcLazy/lit.local.cfg Wed Mar 25 07:11:48 2015<br>
@@ -0,0 +1,2 @@<br>
+if config.root.host_arch not in ['x86_64']:<br>
+    config.unsupported = True<br>
<br>
Added: llvm/trunk/test/ExecutionEngine/OrcLazy/trivial_retval_1.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcLazy/trivial_retval_1.ll?rev=233182&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcLazy/trivial_retval_1.ll?rev=233182&view=auto</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcLazy/trivial_retval_1.ll (added)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcLazy/trivial_retval_1.ll Wed Mar 25 07:11:48 2015<br>
@@ -0,0 +1,25 @@<br>
+; RUN: lli -jit-kind=orc-lazy %s; [ $? -eq 30 ]<br></blockquote><div><br>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.<br><br>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?<br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
+define i32 @baz() {<br>
+entry:<br>
+  ret i32 2<br>
+}<br>
+<br>
+define i32 @bar() {<br>
+entry:<br>
+  %call = call i32 @baz()<br>
+  %mul = mul nsw i32 3, %call<br>
+  ret i32 %mul<br>
+}<br>
+<br>
+define i32 @foo() {<br>
+entry:<br>
+  %call = call i32 @bar()<br>
+  %mul = mul nsw i32 5, %call<br>
+  ret i32 %mul<br>
+}<br>
+<br>
+define i32 @main(i32 %argc, i8** %argv) {<br>
+entry:<br>
+  %call = call i32 @foo()<br>
+  ret i32 %call<br>
+}<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/2002-12-16-ArgTest.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2002-12-16-ArgTest.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2002-12-16-ArgTest.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2002-12-16-ArgTest.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2002-12-16-ArgTest.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 @.LC0 = internal global [10 x i8] c"argc: %d\0A\00"            ; <[10 x i8]*> [#uses=1]<br>
<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-ArgumentBug.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-ArgumentBug.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-ArgumentBug.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-ArgumentBug.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-ArgumentBug.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 define i32 @foo(i32 %X, i32 %Y, double %A) {<br>
        %cond212 = fcmp une double %A, 1.000000e+00             ; <i1> [#uses=1]<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-LoopTest.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-LoopTest.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-LoopTest.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-LoopTest.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-LoopTest.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 define i32 @main() {<br>
        call i32 @mylog( i32 4 )                ; <i32>:1 [#uses=0]<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-PhiTest.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-PhiTest.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-PhiTest.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-PhiTest.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-PhiTest.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 define i32 @main() {<br>
 ; <label>:0<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-09-SARTest.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-09-SARTest.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-09-SARTest.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-09-SARTest.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-09-SARTest.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 ; We were accidentally inverting the signedness of right shifts.  Whoops.<br>
<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-10-FUCOM.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-10-FUCOM.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-10-FUCOM.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-10-FUCOM.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-10-FUCOM.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 define i32 @main() {<br>
        %X = fadd double 0.000000e+00, 1.000000e+00             ; <double> [#uses=1]<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-15-AlignmentTest.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-15-AlignmentTest.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-15-AlignmentTest.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-15-AlignmentTest.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-15-AlignmentTest.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 define i32 @bar(i8* %X) {<br>
         ; pointer should be 4 byte aligned!<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-06-LivenessClobber.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-06-LivenessClobber.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-06-LivenessClobber.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-06-LivenessClobber.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-06-LivenessClobber.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,6 +1,6 @@<br>
 ; This testcase should return with an exit code of 1.<br>
 ;<br>
-; RUN: not %lli -use-orcmcjit %s<br>
+; RUN: not %lli -jit-kind=orc-mcjit %s<br>
<br>
 @test = global i64 0           ; <i64*> [#uses=1]<br>
<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-07-ArgumentTest.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-07-ArgumentTest.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-07-ArgumentTest.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-07-ArgumentTest.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-07-ArgumentTest.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s test<br>
+; RUN: %lli -jit-kind=orc-mcjit %s test<br>
<br>
 declare i32 @puts(i8*)<br>
<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-11-PHIRegAllocBug.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-11-PHIRegAllocBug.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-11-PHIRegAllocBug.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-11-PHIRegAllocBug.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-11-PHIRegAllocBug.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 define i32 @main() {<br>
 entry:<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-06-04-bzip2-bug.ll<br>
URL: <a href="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" target="_blank">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</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-06-04-bzip2-bug.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-06-04-bzip2-bug.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 ; Testcase distilled from 256.bzip2.<br>
<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-06-05-PHIBug.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-06-05-PHIBug.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-06-05-PHIBug.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-06-05-PHIBug.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-06-05-PHIBug.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 ; Testcase distilled from 256.bzip2.<br>
<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-15-AllocaAssertion.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-15-AllocaAssertion.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-15-AllocaAssertion.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-15-AllocaAssertion.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-15-AllocaAssertion.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 ; This testcase failed to work because two variable sized allocas confused the<br>
 ; local register allocator.<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-21-EnvironmentTest.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-21-EnvironmentTest.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-21-EnvironmentTest.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-21-EnvironmentTest.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-21-EnvironmentTest.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 ;<br>
 ; Regression Test: EnvironmentTest.ll<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-23-RegisterAllocatePhysReg.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-23-RegisterAllocatePhysReg.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-23-RegisterAllocatePhysReg.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-23-RegisterAllocatePhysReg.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-23-RegisterAllocatePhysReg.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 ; This testcase exposes a bug in the local register allocator where it runs out<br>
 ; of registers (due to too many overlapping live ranges), but then attempts to<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll<br>
URL: <a href="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" target="_blank">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</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 @A = global i32 0              ; <i32*> [#uses=1]<br>
<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/2005-12-02-TailCallBug.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2005-12-02-TailCallBug.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2005-12-02-TailCallBug.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2005-12-02-TailCallBug.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2005-12-02-TailCallBug.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,5 +1,5 @@<br>
 ; PR672<br>
-; RUN: %lli -use-orcmcjit %s<br>
+; RUN: %lli -jit-kind=orc-mcjit %s<br>
 ; XFAIL: mcjit-ia32<br>
<br>
 define i32 @main() {<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/2007-12-10-APIntLoadStore.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2007-12-10-APIntLoadStore.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2007-12-10-APIntLoadStore.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2007-12-10-APIntLoadStore.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2007-12-10-APIntLoadStore.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit -force-interpreter %s<br>
+; RUN: %lli -jit-kind=orc-mcjit -force-interpreter %s<br>
 ; PR1836<br>
<br>
 define i32 @main() {<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/2008-06-05-APInt-OverAShr.ll<br>
URL: <a href="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" target="_blank">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</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2008-06-05-APInt-OverAShr.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2008-06-05-APInt-OverAShr.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit -force-interpreter=true %s | FileCheck %s<br>
+; RUN: %lli -jit-kind=orc-mcjit -force-interpreter=true %s | FileCheck %s<br>
 ; CHECK: 1<br>
<br>
 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"<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/2013-04-04-RelocAddend.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2013-04-04-RelocAddend.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2013-04-04-RelocAddend.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2013-04-04-RelocAddend.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2013-04-04-RelocAddend.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s<br>
+; RUN: %lli -jit-kind=orc-mcjit %s<br>
 ;<br>
 ; Verify relocations to global symbols with addend work correctly.<br>
 ;<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/cross-module-a.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/cross-module-a.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/cross-module-a.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/cross-module-a.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/cross-module-a.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit -extra-module=%p/Inputs/cross-module-b.ll %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit -extra-module=%p/Inputs/cross-module-b.ll %s > /dev/null<br>
<br>
 declare i32 @FB()<br>
<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/cross-module-sm-pic-a.ll<br>
URL: <a href="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" target="_blank">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</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/cross-module-sm-pic-a.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/cross-module-sm-pic-a.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit -extra-module=%p/Inputs/cross-module-b.ll -relocation-model=pic -code-model=small %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit -extra-module=%p/Inputs/cross-module-b.ll -relocation-model=pic -code-model=small %s > /dev/null<br>
 ; XFAIL: mips, i686, i386<br>
<br>
 declare i32 @FB()<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh-lg-pic.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh-lg-pic.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh-lg-pic.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh-lg-pic.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh-lg-pic.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit -relocation-model=pic -code-model=large %s<br>
+; RUN: %lli -jit-kind=orc-mcjit -relocation-model=pic -code-model=large %s<br>
 ; XFAIL: cygwin, win32, mingw, mips, i686, i386, aarch64, arm, asan, msan<br>
 declare i8* @__cxa_allocate_exception(i64)<br>
 declare void @__cxa_throw(i8*, i8*, i8*)<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh-sm-pic.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh-sm-pic.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh-sm-pic.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh-sm-pic.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh-sm-pic.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit -relocation-model=pic -code-model=small %s<br>
+; RUN: %lli -jit-kind=orc-mcjit -relocation-model=pic -code-model=small %s<br>
 ; XFAIL: cygwin, win32, mingw, mips, i686, i386, darwin, aarch64, arm, asan, msan<br>
 declare i8* @__cxa_allocate_exception(i64)<br>
 declare void @__cxa_throw(i8*, i8*, i8*)<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s<br>
+; RUN: %lli -jit-kind=orc-mcjit %s<br>
 ; XFAIL: arm, cygwin, win32, mingw, asan, msan<br>
 declare i8* @__cxa_allocate_exception(i64)<br>
 declare void @__cxa_throw(i8*, i8*, i8*)<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/fpbitcast.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/fpbitcast.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/fpbitcast.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/fpbitcast.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/fpbitcast.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit -force-interpreter=true %s | FileCheck %s<br>
+; RUN: %lli -jit-kind=orc-mcjit -force-interpreter=true %s | FileCheck %s<br>
 ; CHECK: 40091eb8<br>
<br>
 define i32 @test(double %x) {<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello-sm-pic.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello-sm-pic.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello-sm-pic.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello-sm-pic.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello-sm-pic.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit -relocation-model=pic -code-model=small %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit -relocation-model=pic -code-model=small %s > /dev/null<br>
 ; XFAIL: mips, i686, i386, darwin, aarch64, arm<br>
<br>
 @.LC0 = internal global [12 x i8] c"Hello World\00"            ; <[12 x i8]*> [#uses=1]<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 @.LC0 = internal global [12 x i8] c"Hello World\00"            ; <[12 x i8]*> [#uses=1]<br>
<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello2.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello2.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello2.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello2.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello2.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 @X = global i32 7              ; <i32*> [#uses=0]<br>
 @msg = internal global [13 x i8] c"Hello World\0A\00"          ; <[13 x i8]*> [#uses=1]<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/load-object-a.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/load-object-a.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/load-object-a.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/load-object-a.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/load-object-a.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,20 +1,20 @@<br>
 ; This first line will generate the .o files for the next run line<br>
 ; RUN: rm -rf %t.cachedir %t.cachedir2 %t.cachedir3<br>
 ; RUN: mkdir -p %t.cachedir %t.cachedir2 %t.cachedir3<br>
-; 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<br>
+; 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<br>
<br>
 ; Collect generated objects.<br>
 ; RUN: find %t.cachedir -type f -name 'multi-module-?.o' -exec mv -v '{}' %t.cachedir2 ';'<br>
<br>
 ; This line tests MCJIT object loading<br>
-; RUN: %lli -use-orcmcjit -extra-object=%t.cachedir2/multi-module-b.o -extra-object=%t.cachedir2/multi-module-c.o %s<br>
+; RUN: %lli -jit-kind=orc-mcjit -extra-object=%t.cachedir2/multi-module-b.o -extra-object=%t.cachedir2/multi-module-c.o %s<br>
<br>
 ; These lines put the object files into an archive<br>
 ; RUN: llvm-ar r %t.cachedir3/load-object.a %t.cachedir2/multi-module-b.o<br>
 ; RUN: llvm-ar r %t.cachedir3/load-object.a %t.cachedir2/multi-module-c.o<br>
<br>
 ; This line test MCJIT archive loading<br>
-; RUN: %lli -use-orcmcjit -extra-archive=%t.cachedir3/load-object.a %s<br>
+; RUN: %lli -jit-kind=orc-mcjit -extra-archive=%t.cachedir3/load-object.a %s<br>
<br>
 declare i32 @FB()<br>
<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-a.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-a.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-a.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-a.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-a.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit -extra-module=%p/Inputs/multi-module-b.ll -extra-module=%p/Inputs/multi-module-c.ll %s > /dev/null<br>
+; 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<br>
<br>
 declare i32 @FB()<br>
<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-eh-a.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-eh-a.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-eh-a.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-eh-a.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-eh-a.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit -extra-module=%p/Inputs/multi-module-eh-b.ll %s<br>
+; RUN: %lli -jit-kind=orc-mcjit -extra-module=%p/Inputs/multi-module-eh-b.ll %s<br>
 ; XFAIL: arm, cygwin, win32, mingw, asan, msan<br>
 declare i8* @__cxa_allocate_exception(i64)<br>
 declare void @__cxa_throw(i8*, i8*, i8*)<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-sm-pic-a.ll<br>
URL: <a href="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" target="_blank">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</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-sm-pic-a.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-sm-pic-a.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; 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<br>
+; 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<br>
 ; XFAIL: mips, i686, i386<br>
<br>
 declare i32 @FB()<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/non-extern-addend.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/non-extern-addend.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/non-extern-addend.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/non-extern-addend.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/non-extern-addend.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 define i32 @foo(i32 %x, i32 %y, double %d) {<br>
 entry:<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/pr13727.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/pr13727.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/pr13727.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/pr13727.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/pr13727.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit -O0 -disable-lazy-compilation=false %s<br>
+; RUN: %lli -jit-kind=orc-mcjit -O0 -disable-lazy-compilation=false %s<br>
<br>
 ; The intention of this test is to verify that symbols mapped to COMMON in ELF<br>
 ; work as expected.<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/cross-module-a.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/cross-module-a.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/cross-module-a.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/cross-module-a.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/cross-module-a.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; 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<br>
+; 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<br>
<br>
 declare i32 @FB()<br>
<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/cross-module-sm-pic-a.ll<br>
URL: <a href="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" target="_blank">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</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/cross-module-sm-pic-a.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/cross-module-sm-pic-a.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; 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<br>
+; 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<br>
 ; XFAIL: mips, i686, i386, arm<br>
<br>
 declare i32 @FB()<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/multi-module-a.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/multi-module-a.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/multi-module-a.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/multi-module-a.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/multi-module-a.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; 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<br>
+; 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<br>
<br>
 declare i32 @FB()<br>
<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/multi-module-sm-pic-a.ll<br>
URL: <a href="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" target="_blank">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</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/multi-module-sm-pic-a.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/multi-module-sm-pic-a.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; 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<br>
+; 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<br>
 ; XFAIL: mips, i686, i386, arm<br>
<br>
 declare i32 @FB()<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/simpletest-remote.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/simpletest-remote.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/simpletest-remote.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/simpletest-remote.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/simpletest-remote.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit -remote-mcjit -mcjit-remote-process=lli-child-target%exeext %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit -mcjit-remote-process=lli-child-target%exeext %s > /dev/null<br>
<br>
 define i32 @bar() nounwind {<br>
        ret i32 0<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/stubs-remote.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/stubs-remote.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/stubs-remote.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/stubs-remote.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/stubs-remote.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit -remote-mcjit -disable-lazy-compilation=false -mcjit-remote-process=lli-child-target%exeext %s<br>
+; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit -disable-lazy-compilation=false -mcjit-remote-process=lli-child-target%exeext %s<br>
 ; XFAIL: *<br>
 ; This test should fail until remote symbol resolution is supported.<br>
<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/stubs-sm-pic.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/stubs-sm-pic.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/stubs-sm-pic.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/stubs-sm-pic.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/stubs-sm-pic.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit -remote-mcjit -disable-lazy-compilation=false -relocation-model=pic -code-model=small %s<br>
+; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit -disable-lazy-compilation=false -relocation-model=pic -code-model=small %s<br>
 ; XFAIL: *<br>
 ; This function should fail until remote symbol resolution is supported.<br>
<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-common-symbols-remote.ll<br>
URL: <a href="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" target="_blank">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</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-common-symbols-remote.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-common-symbols-remote.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit -remote-mcjit -O0 -disable-lazy-compilation=false -mcjit-remote-process=lli-child-target%exeext %s<br>
+; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit -O0 -disable-lazy-compilation=false -mcjit-remote-process=lli-child-target%exeext %s<br>
<br>
 ; The intention of this test is to verify that symbols mapped to COMMON in ELF<br>
 ; work as expected.<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-data-align-remote.ll<br>
URL: <a href="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" target="_blank">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</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-data-align-remote.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-data-align-remote.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN:  %lli -use-orcmcjit -remote-mcjit -O0 -mcjit-remote-process=lli-child-target%exeext %s<br>
+; RUN:  %lli -jit-kind=orc-mcjit -remote-mcjit -O0 -mcjit-remote-process=lli-child-target%exeext %s<br>
<br>
 ; Check that a variable is always aligned as specified.<br>
<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-fp-no-external-funcs-remote.ll<br>
URL: <a href="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" target="_blank">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</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-fp-no-external-funcs-remote.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-fp-no-external-funcs-remote.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit -remote-mcjit -mcjit-remote-process=lli-child-target%exeext %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit -mcjit-remote-process=lli-child-target%exeext %s > /dev/null<br>
<br>
 define double @test(double* %DP, double %Arg) nounwind {<br>
        %D = load double, double* %DP           ; <double> [#uses=1]<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-remote.ll<br>
URL: <a href="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" target="_blank">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</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-remote.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-remote.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit -remote-mcjit -mcjit-remote-process=lli-child-target%exeext %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit -mcjit-remote-process=lli-child-target%exeext %s > /dev/null<br>
<br>
 @count = global i32 1, align 4<br>
<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll<br>
URL: <a href="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" target="_blank">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</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit -remote-mcjit -relocation-model=pic -code-model=small %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit -relocation-model=pic -code-model=small %s > /dev/null<br>
 ; XFAIL: mips, aarch64, arm, i686, i386<br>
<br>
 @count = global i32 1, align 4<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-remote.ll<br>
URL: <a href="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" target="_blank">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</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-remote.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-remote.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit -remote-mcjit -O0 -mcjit-remote-process=lli-child-target%exeext %s<br>
+; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit -O0 -mcjit-remote-process=lli-child-target%exeext %s<br>
<br>
 @.str = private unnamed_addr constant [6 x i8] c"data1\00", align 1<br>
 @ptr = global i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i32 0, i32 0), align 4<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll<br>
URL: <a href="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" target="_blank">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</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit -remote-mcjit -O0 -relocation-model=pic -code-model=small %s<br>
+; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit -O0 -relocation-model=pic -code-model=small %s<br>
 ; XFAIL: mips, aarch64, arm, i686, i386<br>
<br>
 @.str = private unnamed_addr constant [6 x i8] c"data1\00", align 1<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/simplesttest.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/simplesttest.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/simplesttest.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/simplesttest.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/simplesttest.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 define i32 @main() {<br>
        ret i32 0<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/simpletest.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/simpletest.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/simpletest.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/simpletest.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/simpletest.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 define i32 @bar() {<br>
        ret i32 0<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit -disable-lazy-compilation=false -relocation-model=pic -code-model=small %s<br>
+; RUN: %lli -jit-kind=orc-mcjit -disable-lazy-compilation=false -relocation-model=pic -code-model=small %s<br>
 ; XFAIL: mips, i686, i386, aarch64, arm<br>
<br>
 define i32 @main() nounwind {<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/stubs.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/stubs.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/stubs.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/stubs.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/stubs.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit -disable-lazy-compilation=false %s<br>
+; RUN: %lli -jit-kind=orc-mcjit -disable-lazy-compilation=false %s<br>
<br>
 define i32 @main() nounwind {<br>
 entry:<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-arith.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-arith.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-arith.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-arith.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-arith.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 define i32 @main() {<br>
        %A = add i8 0, 12               ; <i8> [#uses=1]<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-branch.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-branch.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-branch.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-branch.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-branch.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 ; test unconditional branch<br>
 define i32 @main() {<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-call-no-external-funcs.ll<br>
URL: <a href="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" target="_blank">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</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-call-no-external-funcs.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-call-no-external-funcs.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 define i32 @_Z14func_exit_codev() nounwind uwtable {<br>
 entry:<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-call.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-call.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-call.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-call.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-call.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 declare void @exit(i32)<br>
<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-cast.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-cast.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-cast.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-cast.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-cast.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 define i32 @foo() {<br>
        ret i32 0<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-common-symbols-alignment.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-common-symbols-alignment.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-common-symbols-alignment.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-common-symbols-alignment.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-common-symbols-alignment.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit -O0 %s<br>
+; RUN: %lli -jit-kind=orc-mcjit -O0 %s<br>
<br>
 ; This test checks that common symbols have been allocated addresses honouring<br>
 ; the alignment requirement.<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-common-symbols.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-common-symbols.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-common-symbols.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-common-symbols.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-common-symbols.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit -O0 -disable-lazy-compilation=false %s<br>
+; RUN: %lli -jit-kind=orc-mcjit -O0 -disable-lazy-compilation=false %s<br>
<br>
 ; The intention of this test is to verify that symbols mapped to COMMON in ELF<br>
 ; work as expected.<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-constantexpr.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-constantexpr.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-constantexpr.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-constantexpr.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-constantexpr.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 ; This tests to make sure that we can evaluate weird constant expressions<br>
<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-data-align.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-data-align.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-data-align.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-data-align.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-data-align.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit -O0 %s<br>
+; RUN: %lli -jit-kind=orc-mcjit -O0 %s<br>
<br>
 ; Check that a variable is always aligned as specified.<br>
<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-fp-no-external-funcs.ll<br>
URL: <a href="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" target="_blank">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</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-fp-no-external-funcs.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-fp-no-external-funcs.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 define double @test(double* %DP, double %Arg) {<br>
        %D = load double, double* %DP           ; <double> [#uses=1]<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-fp.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-fp.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-fp.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-fp.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-fp.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 define double @test(double* %DP, double %Arg) {<br>
        %D = load double, double* %DP           ; <double> [#uses=1]<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-ctors.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-ctors.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-ctors.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-ctors.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-ctors.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
 ; XFAIL: darwin<br>
 @var = global i32 1, align 4<br>
 @llvm.global_ctors = appending global [1 x { i32, void ()* }] [{ i32, void ()* } { i32 65535, void ()* @ctor_func }]<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero-sm-pic.ll<br>
URL: <a href="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" target="_blank">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</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero-sm-pic.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero-sm-pic.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit -relocation-model=pic -code-model=small %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit -relocation-model=pic -code-model=small %s > /dev/null<br>
 ; XFAIL: mips, aarch64, arm, i686, i386<br>
<br>
 @count = global i32 1, align 4<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 @count = global i32 1, align 4<br>
<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 @count = global i32 0, align 4<br>
<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-loadstore.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-loadstore.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-loadstore.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-loadstore.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-loadstore.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 define void @test(i8* %P, i16* %P.upgrd.1, i32* %P.upgrd.2, i64* %P.upgrd.3) {<br>
        %V = load i8, i8* %P            ; <i8> [#uses=1]<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-local.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-local.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-local.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-local.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-local.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 define i32 @main() nounwind uwtable {<br>
 entry:<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-logical.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-logical.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-logical.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-logical.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-logical.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 define i32 @main() {<br>
        %A = and i8 4, 8                ; <i8> [#uses=2]<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-loop.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-loop.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-loop.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-loop.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-loop.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 define i32 @main() {<br>
 ; <label>:0<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-phi.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-phi.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-phi.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-phi.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-phi.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 ; test phi node<br>
 @Y = global i32 6              ; <i32*> [#uses=1]<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc-sm-pic.ll<br>
URL: <a href="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" target="_blank">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</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc-sm-pic.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc-sm-pic.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit -O0 -relocation-model=pic -code-model=small %s<br>
+; RUN: %lli -jit-kind=orc-mcjit -O0 -relocation-model=pic -code-model=small %s<br>
 ; XFAIL: mips, aarch64, arm, i686, i386<br>
<br>
 @.str = private unnamed_addr constant [6 x i8] c"data1\00", align 1<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit -O0 %s<br>
+; RUN: %lli -jit-kind=orc-mcjit -O0 %s<br>
<br>
 @.str = private unnamed_addr constant [6 x i8] c"data1\00", align 1<br>
 @ptr = global i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i32 0, i32 0), align 4<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ret.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ret.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ret.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ret.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ret.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 ; test return instructions<br>
 define void @test1() {<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-return.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-return.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-return.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-return.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-return.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 define i32 @main() nounwind uwtable {<br>
 entry:<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-setcond-fp.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-setcond-fp.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-setcond-fp.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-setcond-fp.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-setcond-fp.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
<br>
 define i32 @main() {<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-setcond-int.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-setcond-int.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-setcond-int.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-setcond-int.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-setcond-int.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 define i32 @main() {<br>
        %int1 = add i32 0, 0            ; <i32> [#uses=6]<br>
<br>
Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-shift.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-shift.ll?rev=233182&r1=233180&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-shift.ll?rev=233182&r1=233180&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-shift.ll (original)<br>
+++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-shift.ll Wed Mar 25 07:11:48 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: %lli -use-orcmcjit %s > /dev/null<br>
+; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null<br>
<br>
 define i32 @main() {<br>
        %shamt = add i8 0, 1            ; <i8> [#uses=8]<br>
<br>
Modified: llvm/trunk/tools/lli/CMakeLists.txt<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/lli/CMakeLists.txt?rev=233182&r1=233181&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/lli/CMakeLists.txt?rev=233182&r1=233181&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/tools/lli/CMakeLists.txt (original)<br>
+++ llvm/trunk/tools/lli/CMakeLists.txt Wed Mar 25 07:11:48 2015<br>
@@ -35,6 +35,7 @@ endif( LLVM_USE_INTEL_JITEVENTS )<br>
<br>
 add_llvm_tool(lli<br>
   lli.cpp<br>
+  OrcLazyJIT.cpp<br>
   RemoteMemoryManager.cpp<br>
   RemoteTarget.cpp<br>
   RemoteTargetExternal.cpp<br>
<br>
Added: llvm/trunk/tools/lli/OrcLazyJIT.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/lli/OrcLazyJIT.cpp?rev=233182&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/lli/OrcLazyJIT.cpp?rev=233182&view=auto</a><br>
==============================================================================<br>
--- llvm/trunk/tools/lli/OrcLazyJIT.cpp (added)<br>
+++ llvm/trunk/tools/lli/OrcLazyJIT.cpp Wed Mar 25 07:11:48 2015<br>
@@ -0,0 +1,53 @@<br>
+//===------ OrcLazyJIT.cpp - Basic Orc-based JIT for lazy execution -------===//<br>
+//<br>
+//                     The LLVM Compiler Infrastructure<br>
+//<br>
+// This file is distributed under the University of Illinois Open Source<br>
+// License. See LICENSE.TXT for details.<br>
+//<br>
+//===----------------------------------------------------------------------===//<br>
+<br>
+#include "OrcLazyJIT.h"<br>
+#include "llvm/ExecutionEngine/Orc/OrcTargetSupport.h"<br>
+<br>
+using namespace llvm;<br>
+<br>
+std::unique_ptr<OrcLazyJIT::CompileCallbackMgr><br>
+OrcLazyJIT::createCallbackMgr(Triple T, LLVMContext &Context) {<br>
+  switch (T.getArch()) {<br>
+    default:<br>
+      // Flag error.<br>
+      Error = true;<br>
+      return nullptr;<br>
+<br>
+    case Triple::x86_64: {<br>
+      typedef orc::JITCompileCallbackManager<CompileLayerT,<br></blockquote><div><br>CompileLayerT? That seems like a strange type name - I'd expect BlahT to be a template type parameter, perhaps?<br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
+                                             orc::OrcX86_64> CCMgrT;<br>
+      return make_unique<CCMgrT>(CompileLayer, Context, 0, 64);<br>
+    }<br>
+  }<br>
+}<br>
+<br>
+int llvm::runOrcLazyJIT(std::unique_ptr<Module> M, int ArgC, char* ArgV[]) {<br>
+  OrcLazyJIT J(std::unique_ptr<TargetMachine>(EngineBuilder().selectTarget()),<br></blockquote><div><br>Is it practical/worth unique_ptr-izing selectTarget?<br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
+               getGlobalContext());<br>
+<br>
+  if (!J.Ok()) {<br>
+    errs() << "Could not construct JIT.\n";<br>
+    return 1;<br>
+  }<br>
+<br>
+  auto MainHandle = J.addModule(std::move(M));<br>
+  auto MainSym = J.findSymbolIn(MainHandle, "main");<br>
+<br>
+  if (!MainSym) {<br>
+    errs() << "Could not find main function.\n";<br>
+    return 1;<br>
+  }<br>
+<br>
+  typedef int (*MainFnPtr)(int, char*[]);<br>
+  auto Main = reinterpret_cast<MainFnPtr>(<br>
+                static_cast<uintptr_t>(MainSym.getAddress()));</blockquote><div><br>I guess getAddress doesn't return uintptr_t for the times when you're doing cross-architecture execution?<br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"> </blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
+<br>
+  return Main(ArgC, ArgV);<br>
+}<br>
<br>
Added: llvm/trunk/tools/lli/OrcLazyJIT.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/lli/OrcLazyJIT.h?rev=233182&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/lli/OrcLazyJIT.h?rev=233182&view=auto</a><br>
==============================================================================<br>
--- llvm/trunk/tools/lli/OrcLazyJIT.h (added)<br>
+++ llvm/trunk/tools/lli/OrcLazyJIT.h Wed Mar 25 07:11:48 2015<br>
@@ -0,0 +1,97 @@<br>
+//===--- OrcLazyJIT.h - Basic Orc-based JIT for lazy execution --*- C++ -*-===//<br>
+//<br>
+//                     The LLVM Compiler Infrastructure<br>
+//<br>
+// This file is distributed under the University of Illinois Open Source<br>
+// License. See LICENSE.TXT for details.<br>
+//<br>
+//===----------------------------------------------------------------------===//<br>
+//<br>
+// Simple Orc-based JIT. Uses the compile-on-demand layer to break up and<br>
+// lazily compile modules.<br>
+//<br>
+//===----------------------------------------------------------------------===//<br>
+<br>
+#ifndef LLVM_TOOLS_LLI_ORCLAZYJIT_H<br>
+#define LLVM_TOOLS_LLI_ORCLAZYJIT_H<br>
+<br>
+#include "llvm/ADT/Triple.h"<br>
+#include "llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h"<br>
+#include "llvm/ExecutionEngine/Orc/CompileUtils.h"<br>
+#include "llvm/ExecutionEngine/Orc/IRCompileLayer.h"<br>
+#include "llvm/ExecutionEngine/Orc/LazyEmittingLayer.h"<br>
+#include "llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h"<br>
+#include "llvm/IR/LLVMContext.h"<br>
+<br>
+namespace llvm {<br>
+<br>
+class OrcLazyJIT {<br>
+public:<br>
+<br>
+  typedef orc::JITCompileCallbackManagerBase CompileCallbackMgr;<br>
+  typedef orc::ObjectLinkingLayer<> ObjLayerT;<br>
+  typedef orc::IRCompileLayer<ObjLayerT> CompileLayerT;<br>
+  typedef orc::LazyEmittingLayer<CompileLayerT> LazyEmitLayerT;<br>
+  typedef orc::CompileOnDemandLayer<LazyEmitLayerT,<br>
+                                    CompileCallbackMgr> CODLayerT;<br>
+  typedef typename CODLayerT::ModuleSetHandleT ModuleHandleT;<br></blockquote><div><br>Ah, here are all the FooTs... hmm, wonder if there's a better naming scheme? Maybe not.<br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
+<br>
+  OrcLazyJIT(std::unique_ptr<TargetMachine> TM, LLVMContext &Context)<br>
+    : Error(false), TM(std::move(TM)),<br>
+      Mang(this->TM->getDataLayout()),<br>
+      ObjectLayer([](){ return llvm::make_unique<SectionMemoryManager>(); }),<br>
+      CompileLayer(ObjectLayer, orc::SimpleCompiler(*this->TM)),<br>
+      LazyEmitLayer(CompileLayer),<br>
+      CCMgr(createCallbackMgr(Triple(this->TM->getTargetTriple()), Context)),<br>
+      CODLayer(LazyEmitLayer, *CCMgr) { }<br>
+<br>
+  bool Ok() const { return !Error; }<br></blockquote><div><br>explicit operator bool?<br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
+<br>
+  ModuleHandleT addModule(std::unique_ptr<Module> M) {<br>
+    // Attach a data-layout if one isn't already present.<br>
+    if (M->getDataLayout().isDefault())<br>
+      M->setDataLayout(*TM->getDataLayout());<br>
+<br>
+    std::vector<std::unique_ptr<Module>> S;<br>
+    S.push_back(std::move(M));<br>
+    return CODLayer.addModuleSet(std::move(S));<br>
+  }<br>
+<br>
+  orc::JITSymbol findSymbol(const std::string &Name) {<br>
+    return CODLayer.findSymbol(mangle(Name), true);<br>
+  }<br>
+<br>
+  orc::JITSymbol findSymbolIn(ModuleHandleT H, const std::string &Name) {<br>
+    return CODLayer.findSymbolIn(H, mangle(Name), true);<br>
+  }<br>
+<br>
+private:<br>
+<br>
+  std::unique_ptr<CompileCallbackMgr><br>
+  createCallbackMgr(Triple T, LLVMContext &Context);<br>
+<br>
+  std::string mangle(const std::string &Name) {<br>
+    std::string MangledName;<br>
+    {<br>
+      raw_string_ostream MangledNameStream(MangledName);<br>
+      Mang.getNameWithPrefix(MangledNameStream, Name);<br>
+    }<br>
+    return MangledName;<br>
+  }<br>
+<br>
+  bool Error;<br>
+  std::unique_ptr<TargetMachine> TM;<br>
+  Mangler Mang;<br>
+<br>
+  ObjLayerT ObjectLayer;<br>
+  CompileLayerT CompileLayer;<br>
+  LazyEmitLayerT LazyEmitLayer;<br>
+  std::unique_ptr<CompileCallbackMgr> CCMgr;<br>
+  CODLayerT CODLayer;<br>
+};<br>
+<br>
+int runOrcLazyJIT(std::unique_ptr<Module> M, int ArgC, char* ArgV[]);<br>
+<br>
+} // end namespace llvm<br>
+<br>
+#endif<br>
<br>
Modified: llvm/trunk/tools/lli/lli.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/lli/lli.cpp?rev=233182&r1=233181&r2=233182&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/lli/lli.cpp?rev=233182&r1=233181&r2=233182&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/tools/lli/lli.cpp (original)<br>
+++ llvm/trunk/tools/lli/lli.cpp Wed Mar 25 07:11:48 2015<br>
@@ -14,6 +14,7 @@<br>
 //===----------------------------------------------------------------------===//<br>
<br>
 #include "llvm/IR/LLVMContext.h"<br>
+#include "OrcLazyJIT.h"<br>
 #include "RemoteMemoryManager.h"<br>
 #include "RemoteTarget.h"<br>
 #include "RemoteTargetExternal.h"<br>
@@ -66,6 +67,9 @@ using namespace llvm;<br>
 #define DEBUG_TYPE "lli"<br>
<br>
 namespace {<br>
+<br>
+  enum class JITKind { MCJIT, OrcMCJITReplacement, OrcLazy };<br>
+<br>
   cl::opt<std::string><br>
   InputFile(cl::desc("<input bitcode>"), cl::Positional, cl::init("-"));<br>
<br>
@@ -76,12 +80,19 @@ namespace {<br>
                                  cl::desc("Force interpretation: disable JIT"),<br>
                                  cl::init(false));<br>
<br>
-  cl::opt<bool> UseOrcMCJITReplacement("use-orcmcjit",<br>
-                                       cl::desc("Use the experimental "<br>
-                                                "OrcMCJITReplacement as a "<br>
-                                                "drop-in replacement for "<br>
-                                                "MCJIT."),<br>
-                                       cl::init(false));<br>
+  cl::opt<JITKind> UseJITKind("jit-kind",<br>
+                              cl::desc("Choose underlying JIT kind."),<br>
+                              cl::init(JITKind::MCJIT),<br>
+                              cl::values(<br>
+                                clEnumValN(JITKind::MCJIT, "mcjit",<br>
+                                           "MCJIT"),<br>
+                                clEnumValN(JITKind::OrcMCJITReplacement,<br>
+                                           "orc-mcjit",<br>
+                                           "Orc-based MCJIT replacement"),<br>
+                                clEnumValN(JITKind::OrcLazy,<br>
+                                           "orc-lazy",<br>
+                                           "Orc-based lazy JIT."),<br>
+                                clEnumValEnd));<br>
<br>
   // The MCJIT supports building for a target address space separate from<br>
   // the JIT compilation process. Use a forked process and a copying<br>
@@ -404,6 +415,9 @@ int main(int argc, char **argv, char * c<br>
     return 1;<br>
   }<br>
<br>
+  if (UseJITKind == JITKind::OrcLazy)<br>
+    return runOrcLazyJIT(std::move(Owner), argc, argv);<br>
+<br>
   if (EnableCacheManager) {<br>
     std::string CacheName("file:");<br>
     CacheName.append(InputFile);<br>
@@ -430,7 +444,7 @@ int main(int argc, char **argv, char * c<br>
   builder.setEngineKind(ForceInterpreter<br>
                         ? EngineKind::Interpreter<br>
                         : EngineKind::JIT);<br>
-  builder.setUseOrcMCJITReplacement(UseOrcMCJITReplacement);<br>
+  builder.setUseOrcMCJITReplacement(UseJITKind == JITKind::OrcMCJITReplacement);<br>
<br>
   // If we are supposed to override the target triple, do so now.<br>
   if (!TargetTriple.empty())<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div></div>
</blockquote></div><br></div></div>
</blockquote></div><br></div></div>
</blockquote></div><br></div></div></div>
</blockquote></div><br></div></div>
</blockquote></div><br></div></div></div>
</blockquote></div><br></div></div>