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

Lang Hames lhames at gmail.com
Mon Mar 30 11:41:36 PDT 2015


Hi Dave,

> 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.

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.

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:


auto CallbackManagerBuilder = createCallbackManagerBuilder(Target);
if (!CallbackManagerBuilder)
  return 1; // No callback manager for target.
OrcLazyJIT J(..., CallbackManagerBuilder); // <- Construction is now
guaranteed.
... // Do stuff with the JIT

What do you think?

- Lang.

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

On Mon, Mar 30, 2015 at 10:43 AM, David Blaikie <dblaikie at gmail.com> wrote:

>
>
> On Mon, Mar 30, 2015 at 10:12 AM, Lang Hames <lhames at gmail.com> wrote:
>
>> Hi Dave,
>>
>> > 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)
>>
>> I'm not sure. I think it's probably time for an audit of these regression
>> tests to check the following:
>> (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.
>> (b) Which should be unit tests.
>> (c) Which should really be JIT regression tests, and which JIT they
>> really apply to.
>>
>> 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.
>>
>
> 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.
>
>
>>
>> > 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?
>>
>> 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.
>>
>
> Yep, fair enough.
>
>
>>
>> > 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.
>>
>> 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?
>>
>
> 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.
>
>
>>
>> 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.
>>
>> - Lang.
>>
>> On Fri, Mar 27, 2015 at 8:28 AM, David Blaikie <dblaikie at gmail.com>
>> wrote:
>>
>>>
>>>
>>> On Wed, Mar 25, 2015 at 4:17 PM, Lang Hames <lhames at gmail.com> wrote:
>>>
>>>> > could/should we deduplicate the MCJIT+ORCJIT test cases
>>>>
>>>> Yep. I think the duplication is left-over laziness from my internal Orc
>>>> development branch. I'll try to merge them today.
>>>>
>>>> > What test coverage does this offer over all the other tests? Does it
>>>> test/ensure the laziness is actually happening? (it doesn't look like it to
>>>> me - but I'm fairly unfamiliar with the testing here) If it's not actually
>>>> testing anything that's specifically not covered by the other tests, I'd
>>>> probably skip it.
>>>> >
>>>> > Perhaps it tickles a codepath that's not covered by the other tests,
>>>> even if it doesn't actually verify the laziness? Maybe a comment would be
>>>> helpful to describe exactly what about this test is necessary/interesting
>>>> for that codepath, then?
>>>>
>>>> Some context for this test probably helps (though I think you've
>>>> guessed most of it):
>>>>
>>>> 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.
>>>>
>>>> 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.
>>>>
>>>
>>> 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)
>>>
>>>
>>>> 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.
>>>>
>>>> > CompileLayerT? That seems like a strange type name - I'd expect BlahT
>>>> to be a template type parameter, perhaps?
>>>>
>>>> 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.
>>>>
>>>
>>> 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?
>>>
>>>
>>>>
>>>>  > Is it practical/worth unique_ptr-izing selectTarget?
>>>>
>>>> Yep.
>>>>
>>>> > I guess getAddress doesn't return uintptr_t for the times when
>>>> you're doing cross-architecture execution?
>>>>
>>>> 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.
>>>>
>>>> > explicit operator bool?
>>>>
>>>> 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?
>>>>
>>>
>>> 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.
>>>
>>> - David
>>>
>>>
>>>>
>>>> Cheers,
>>>> Lang.
>>>>
>>>> On Thu, Mar 26, 2015 at 4:27 AM, David Blaikie <dblaikie at gmail.com>
>>>> wrote:
>>>>
>>>>>
>>>>>
>>>>> On Wed, Mar 25, 2015 at 5:11 AM, Lang Hames <lhames at gmail.com> wrote:
>>>>>
>>>>>> Author: lhames
>>>>>> Date: Wed Mar 25 07:11:48 2015
>>>>>> New Revision: 233182
>>>>>>
>>>>>> URL: http://llvm.org/viewvc/llvm-project?rev=233182&view=rev
>>>>>> Log:
>>>>>> [Orc][lli] Add a very simple Orc-based lazy JIT to lli.
>>>>>>
>>>>>> This ensures that we're building and testing the CompileOnDemand
>>>>>> layer, at least
>>>>>> in a basic way.
>>>>>>
>>>>>> Currently x86-64 only, and with limited to no library calls enabled
>>>>>> (depending
>>>>>> on host platform). Patches welcome. ;)
>>>>>>
>>>>>> To enable access to the lazy JIT, this patch replaces the
>>>>>> '-use-orcmcjit' lli
>>>>>> option with a new option:
>>>>>> '-jit-kind={ mcjit | orc-mcjit | orc-lazy }'.
>>>>>>
>>>>>> All regression tests are updated to use the new option,
>>>>>
>>>>>
>>>>> Side note/thought (sorry I didn't think of this when you were adding
>>>>> the tests in the first place): could/should we deduplicate the MCJIT+ORCJIT
>>>>> test cases and just add two run lines in each of the tests - that way the
>>>>> contents of the tests isn't duplicated and there's a better chance that
>>>>> when new tests are added that someone will cargo-cult the duplicate RUN
>>>>> lines in from an existing tests (thus providing new test coverage for both
>>>>> implementations) - or is there some other way we could streamline "run all
>>>>> these tests with both these configurations" without manual duplication?
>>>>>
>>>>>
>>>>>> and one trivial test of
>>>>>> the new lazy JIT is added.
>>>>>>
>>>>>>
>>>>>> Added:
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcLazy/
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcLazy/lit.local.cfg
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcLazy/trivial_retval_1.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/
>>>>>>       - copied from r233180, llvm/trunk/test/ExecutionEngine/OrcJIT/
>>>>>>     llvm/trunk/tools/lli/OrcLazyJIT.cpp
>>>>>>     llvm/trunk/tools/lli/OrcLazyJIT.h
>>>>>> Removed:
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcJIT/
>>>>>> Modified:
>>>>>>     llvm/trunk/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/2002-12-16-ArgTest.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-ArgumentBug.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-LoopTest.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-PhiTest.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-09-SARTest.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-10-FUCOM.ll
>>>>>>
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-15-AlignmentTest.ll
>>>>>>
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-06-LivenessClobber.ll
>>>>>>
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-07-ArgumentTest.ll
>>>>>>
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-11-PHIRegAllocBug.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-06-04-bzip2-bug.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-06-05-PHIBug.ll
>>>>>>
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-15-AllocaAssertion.ll
>>>>>>
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-21-EnvironmentTest.ll
>>>>>>
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-23-RegisterAllocatePhysReg.ll
>>>>>>
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/2005-12-02-TailCallBug.ll
>>>>>>
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2007-12-10-APIntLoadStore.ll
>>>>>>
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2008-06-05-APInt-OverAShr.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/2013-04-04-RelocAddend.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/cross-module-a.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/cross-module-sm-pic-a.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh-lg-pic.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh-sm-pic.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/fpbitcast.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello-sm-pic.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello2.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/load-object-a.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-a.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-eh-a.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-sm-pic-a.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/non-extern-addend.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/pr13727.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/cross-module-a.ll
>>>>>>
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/cross-module-sm-pic-a.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/multi-module-a.ll
>>>>>>
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/multi-module-sm-pic-a.ll
>>>>>>
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/simpletest-remote.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/stubs-remote.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/stubs-sm-pic.ll
>>>>>>
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-common-symbols-remote.ll
>>>>>>
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-data-align-remote.ll
>>>>>>
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-fp-no-external-funcs-remote.ll
>>>>>>
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-remote.ll
>>>>>>
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll
>>>>>>
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-remote.ll
>>>>>>
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/simplesttest.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/simpletest.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/stubs.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-arith.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-branch.ll
>>>>>>
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-call-no-external-funcs.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-call.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-cast.ll
>>>>>>
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-common-symbols-alignment.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-common-symbols.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-constantexpr.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-data-align.ll
>>>>>>
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-fp-no-external-funcs.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-fp.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-ctors.ll
>>>>>>
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero-sm-pic.ll
>>>>>>
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-loadstore.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-local.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-logical.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-loop.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-phi.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc-sm-pic.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ret.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-return.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-setcond-fp.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-setcond-int.ll
>>>>>>     llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-shift.ll
>>>>>>     llvm/trunk/tools/lli/CMakeLists.txt
>>>>>>     llvm/trunk/tools/lli/lli.cpp
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h?rev=233182&r1=233181&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> ---
>>>>>> llvm/trunk/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
>>>>>> (original)
>>>>>> +++
>>>>>> llvm/trunk/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h Wed Mar
>>>>>> 25 07:11:48 2015
>>>>>> @@ -193,8 +193,8 @@ public:
>>>>>>    ///        below this one.
>>>>>>    JITSymbol findSymbolIn(ModuleSetHandleT H, const std::string &Name,
>>>>>>                           bool ExportedSymbolsOnly) {
>>>>>> -    BaseLayerModuleSetHandleListT &BaseLayerHandles = H->second;
>>>>>> -    for (auto &BH : BaseLayerHandles) {
>>>>>> +
>>>>>> +    for (auto &BH : H->BaseLayerModuleSetHandles) {
>>>>>>        if (auto Symbol = BaseLayer.findSymbolIn(BH, Name,
>>>>>> ExportedSymbolsOnly))
>>>>>>          return Symbol;
>>>>>>      }
>>>>>>
>>>>>> Added: llvm/trunk/test/ExecutionEngine/OrcLazy/lit.local.cfg
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcLazy/lit.local.cfg?rev=233182&view=auto
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcLazy/lit.local.cfg (added)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcLazy/lit.local.cfg Wed Mar 25
>>>>>> 07:11:48 2015
>>>>>> @@ -0,0 +1,2 @@
>>>>>> +if config.root.host_arch not in ['x86_64']:
>>>>>> +    config.unsupported = True
>>>>>>
>>>>>> Added: llvm/trunk/test/ExecutionEngine/OrcLazy/trivial_retval_1.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcLazy/trivial_retval_1.ll?rev=233182&view=auto
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcLazy/trivial_retval_1.ll
>>>>>> (added)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcLazy/trivial_retval_1.ll Wed
>>>>>> Mar 25 07:11:48 2015
>>>>>> @@ -0,0 +1,25 @@
>>>>>> +; RUN: lli -jit-kind=orc-lazy %s; [ $? -eq 30 ]
>>>>>>
>>>>>
>>>>> What test coverage does this offer over all the other tests? Does it
>>>>> test/ensure the laziness is actually happening? (it doesn't look like it to
>>>>> me - but I'm fairly unfamiliar with the testing here) If it's not actually
>>>>> testing anything that's specifically not covered by the other tests, I'd
>>>>> probably skip it.
>>>>>
>>>>> Perhaps it tickles a codepath that's not covered by the other tests,
>>>>> even if it doesn't actually verify the laziness? Maybe a comment would be
>>>>> helpful to describe exactly what about this test is necessary/interesting
>>>>> for that codepath, then?
>>>>>
>>>>>
>>>>>> +define i32 @baz() {
>>>>>> +entry:
>>>>>> +  ret i32 2
>>>>>> +}
>>>>>> +
>>>>>> +define i32 @bar() {
>>>>>> +entry:
>>>>>> +  %call = call i32 @baz()
>>>>>> +  %mul = mul nsw i32 3, %call
>>>>>> +  ret i32 %mul
>>>>>> +}
>>>>>> +
>>>>>> +define i32 @foo() {
>>>>>> +entry:
>>>>>> +  %call = call i32 @bar()
>>>>>> +  %mul = mul nsw i32 5, %call
>>>>>> +  ret i32 %mul
>>>>>> +}
>>>>>> +
>>>>>> +define i32 @main(i32 %argc, i8** %argv) {
>>>>>> +entry:
>>>>>> +  %call = call i32 @foo()
>>>>>> +  ret i32 %call
>>>>>> +}
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2002-12-16-ArgTest.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2002-12-16-ArgTest.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2002-12-16-ArgTest.ll
>>>>>> (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2002-12-16-ArgTest.ll
>>>>>> Wed Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  @.LC0 = internal global [10 x i8] c"argc: %d\0A\00"            ;
>>>>>> <[10 x i8]*> [#uses=1]
>>>>>>
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-ArgumentBug.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-ArgumentBug.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> ---
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-ArgumentBug.ll
>>>>>> (original)
>>>>>> +++
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-ArgumentBug.ll Wed Mar
>>>>>> 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  define i32 @foo(i32 %X, i32 %Y, double %A) {
>>>>>>         %cond212 = fcmp une double %A, 1.000000e+00             ;
>>>>>> <i1> [#uses=1]
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-LoopTest.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-LoopTest.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-LoopTest.ll
>>>>>> (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-LoopTest.ll
>>>>>> Wed Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  define i32 @main() {
>>>>>>         call i32 @mylog( i32 4 )                ; <i32>:1 [#uses=0]
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-PhiTest.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-PhiTest.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-PhiTest.ll
>>>>>> (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-04-PhiTest.ll
>>>>>> Wed Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  define i32 @main() {
>>>>>>  ; <label>:0
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-09-SARTest.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-09-SARTest.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-09-SARTest.ll
>>>>>> (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-09-SARTest.ll
>>>>>> Wed Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  ; We were accidentally inverting the signedness of right shifts.
>>>>>> Whoops.
>>>>>>
>>>>>>
>>>>>> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-10-FUCOM.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-10-FUCOM.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-10-FUCOM.ll
>>>>>> (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-10-FUCOM.ll Wed
>>>>>> Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  define i32 @main() {
>>>>>>         %X = fadd double 0.000000e+00, 1.000000e+00             ;
>>>>>> <double> [#uses=1]
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-15-AlignmentTest.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-15-AlignmentTest.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> ---
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-15-AlignmentTest.ll
>>>>>> (original)
>>>>>> +++
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-01-15-AlignmentTest.ll Wed
>>>>>> Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  define i32 @bar(i8* %X) {
>>>>>>          ; pointer should be 4 byte aligned!
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-06-LivenessClobber.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-06-LivenessClobber.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> ---
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-06-LivenessClobber.ll
>>>>>> (original)
>>>>>> +++
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-06-LivenessClobber.ll Wed
>>>>>> Mar 25 07:11:48 2015
>>>>>> @@ -1,6 +1,6 @@
>>>>>>  ; This testcase should return with an exit code of 1.
>>>>>>  ;
>>>>>> -; RUN: not %lli -use-orcmcjit %s
>>>>>> +; RUN: not %lli -jit-kind=orc-mcjit %s
>>>>>>
>>>>>>  @test = global i64 0           ; <i64*> [#uses=1]
>>>>>>
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-07-ArgumentTest.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-07-ArgumentTest.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> ---
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-07-ArgumentTest.ll
>>>>>> (original)
>>>>>> +++
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-07-ArgumentTest.ll Wed Mar
>>>>>> 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s test
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s test
>>>>>>
>>>>>>  declare i32 @puts(i8*)
>>>>>>
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-11-PHIRegAllocBug.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-11-PHIRegAllocBug.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> ---
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-11-PHIRegAllocBug.ll
>>>>>> (original)
>>>>>> +++
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-05-11-PHIRegAllocBug.ll Wed
>>>>>> Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  define i32 @main() {
>>>>>>  entry:
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-06-04-bzip2-bug.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-06-04-bzip2-bug.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-06-04-bzip2-bug.ll
>>>>>> (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-06-04-bzip2-bug.ll
>>>>>> Wed Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  ; Testcase distilled from 256.bzip2.
>>>>>>
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-06-05-PHIBug.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-06-05-PHIBug.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-06-05-PHIBug.ll
>>>>>> (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-06-05-PHIBug.ll Wed
>>>>>> Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  ; Testcase distilled from 256.bzip2.
>>>>>>
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-15-AllocaAssertion.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-15-AllocaAssertion.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> ---
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-15-AllocaAssertion.ll
>>>>>> (original)
>>>>>> +++
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-15-AllocaAssertion.ll Wed
>>>>>> Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  ; This testcase failed to work because two variable sized allocas
>>>>>> confused the
>>>>>>  ; local register allocator.
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-21-EnvironmentTest.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-21-EnvironmentTest.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> ---
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-21-EnvironmentTest.ll
>>>>>> (original)
>>>>>> +++
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-21-EnvironmentTest.ll Wed
>>>>>> Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  ;
>>>>>>  ; Regression Test: EnvironmentTest.ll
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-23-RegisterAllocatePhysReg.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-23-RegisterAllocatePhysReg.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> ---
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-23-RegisterAllocatePhysReg.ll
>>>>>> (original)
>>>>>> +++
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-08-23-RegisterAllocatePhysReg.ll
>>>>>> Wed Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  ; This testcase exposes a bug in the local register allocator where
>>>>>> it runs out
>>>>>>  ; of registers (due to too many overlapping live ranges), but then
>>>>>> attempts to
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> ---
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll
>>>>>> (original)
>>>>>> +++
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll
>>>>>> Wed Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  @A = global i32 0              ; <i32*> [#uses=1]
>>>>>>
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2005-12-02-TailCallBug.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2005-12-02-TailCallBug.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> ---
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2005-12-02-TailCallBug.ll
>>>>>> (original)
>>>>>> +++
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2005-12-02-TailCallBug.ll Wed Mar
>>>>>> 25 07:11:48 2015
>>>>>> @@ -1,5 +1,5 @@
>>>>>>  ; PR672
>>>>>> -; RUN: %lli -use-orcmcjit %s
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s
>>>>>>  ; XFAIL: mcjit-ia32
>>>>>>
>>>>>>  define i32 @main() {
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2007-12-10-APIntLoadStore.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2007-12-10-APIntLoadStore.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> ---
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2007-12-10-APIntLoadStore.ll
>>>>>> (original)
>>>>>> +++
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2007-12-10-APIntLoadStore.ll Wed
>>>>>> Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit -force-interpreter %s
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit -force-interpreter %s
>>>>>>  ; PR1836
>>>>>>
>>>>>>  define i32 @main() {
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2008-06-05-APInt-OverAShr.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2008-06-05-APInt-OverAShr.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> ---
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2008-06-05-APInt-OverAShr.ll
>>>>>> (original)
>>>>>> +++
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2008-06-05-APInt-OverAShr.ll Wed
>>>>>> Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit -force-interpreter=true %s | FileCheck %s
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit -force-interpreter=true %s |
>>>>>> FileCheck %s
>>>>>>  ; CHECK: 1
>>>>>>
>>>>>>  target datalayout =
>>>>>> "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32"
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2013-04-04-RelocAddend.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/2013-04-04-RelocAddend.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> ---
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2013-04-04-RelocAddend.ll
>>>>>> (original)
>>>>>> +++
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/2013-04-04-RelocAddend.ll Wed Mar
>>>>>> 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s
>>>>>>  ;
>>>>>>  ; Verify relocations to global symbols with addend work correctly.
>>>>>>  ;
>>>>>>
>>>>>> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/cross-module-a.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/cross-module-a.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/cross-module-a.ll
>>>>>> (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/cross-module-a.ll Wed
>>>>>> Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit -extra-module=%p/Inputs/cross-module-b.ll
>>>>>> %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit
>>>>>> -extra-module=%p/Inputs/cross-module-b.ll %s > /dev/null
>>>>>>
>>>>>>  declare i32 @FB()
>>>>>>
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/cross-module-sm-pic-a.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/cross-module-sm-pic-a.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/cross-module-sm-pic-a.ll
>>>>>> (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/cross-module-sm-pic-a.ll
>>>>>> Wed Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit -extra-module=%p/Inputs/cross-module-b.ll
>>>>>> -relocation-model=pic -code-model=small %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit
>>>>>> -extra-module=%p/Inputs/cross-module-b.ll -relocation-model=pic
>>>>>> -code-model=small %s > /dev/null
>>>>>>  ; XFAIL: mips, i686, i386
>>>>>>
>>>>>>  declare i32 @FB()
>>>>>>
>>>>>> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh-lg-pic.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh-lg-pic.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh-lg-pic.ll (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh-lg-pic.ll Wed Mar 25
>>>>>> 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit -relocation-model=pic -code-model=large %s
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit -relocation-model=pic
>>>>>> -code-model=large %s
>>>>>>  ; XFAIL: cygwin, win32, mingw, mips, i686, i386, aarch64, arm, asan,
>>>>>> msan
>>>>>>  declare i8* @__cxa_allocate_exception(i64)
>>>>>>  declare void @__cxa_throw(i8*, i8*, i8*)
>>>>>>
>>>>>> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh-sm-pic.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh-sm-pic.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh-sm-pic.ll (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh-sm-pic.ll Wed Mar 25
>>>>>> 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit -relocation-model=pic -code-model=small %s
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit -relocation-model=pic
>>>>>> -code-model=small %s
>>>>>>  ; XFAIL: cygwin, win32, mingw, mips, i686, i386, darwin, aarch64,
>>>>>> arm, asan, msan
>>>>>>  declare i8* @__cxa_allocate_exception(i64)
>>>>>>  declare void @__cxa_throw(i8*, i8*, i8*)
>>>>>>
>>>>>> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh.ll (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/eh.ll Wed Mar 25
>>>>>> 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s
>>>>>>  ; XFAIL: arm, cygwin, win32, mingw, asan, msan
>>>>>>  declare i8* @__cxa_allocate_exception(i64)
>>>>>>  declare void @__cxa_throw(i8*, i8*, i8*)
>>>>>>
>>>>>> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/fpbitcast.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/fpbitcast.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/fpbitcast.ll (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/fpbitcast.ll Wed Mar 25
>>>>>> 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit -force-interpreter=true %s | FileCheck %s
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit -force-interpreter=true %s |
>>>>>> FileCheck %s
>>>>>>  ; CHECK: 40091eb8
>>>>>>
>>>>>>  define i32 @test(double %x) {
>>>>>>
>>>>>> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello-sm-pic.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello-sm-pic.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello-sm-pic.ll
>>>>>> (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello-sm-pic.ll Wed Mar
>>>>>> 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit -relocation-model=pic -code-model=small %s
>>>>>> > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit -relocation-model=pic
>>>>>> -code-model=small %s > /dev/null
>>>>>>  ; XFAIL: mips, i686, i386, darwin, aarch64, arm
>>>>>>
>>>>>>  @.LC0 = internal global [12 x i8] c"Hello World\00"            ;
>>>>>> <[12 x i8]*> [#uses=1]
>>>>>>
>>>>>> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello.ll (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello.ll Wed Mar 25
>>>>>> 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  @.LC0 = internal global [12 x i8] c"Hello World\00"            ;
>>>>>> <[12 x i8]*> [#uses=1]
>>>>>>
>>>>>>
>>>>>> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello2.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello2.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello2.ll (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/hello2.ll Wed Mar 25
>>>>>> 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  @X = global i32 7              ; <i32*> [#uses=0]
>>>>>>  @msg = internal global [13 x i8] c"Hello World\0A\00"          ;
>>>>>> <[13 x i8]*> [#uses=1]
>>>>>>
>>>>>> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/load-object-a.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/load-object-a.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/load-object-a.ll
>>>>>> (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/load-object-a.ll Wed Mar
>>>>>> 25 07:11:48 2015
>>>>>> @@ -1,20 +1,20 @@
>>>>>>  ; This first line will generate the .o files for the next run line
>>>>>>  ; RUN: rm -rf %t.cachedir %t.cachedir2 %t.cachedir3
>>>>>>  ; RUN: mkdir -p %t.cachedir %t.cachedir2 %t.cachedir3
>>>>>> -; RUN: %lli -use-orcmcjit -extra-module=%p/Inputs/multi-module-b.ll
>>>>>> -extra-module=%p/Inputs/multi-module-c.ll -enable-cache-manager
>>>>>> -object-cache-dir=%t.cachedir %s
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit
>>>>>> -extra-module=%p/Inputs/multi-module-b.ll
>>>>>> -extra-module=%p/Inputs/multi-module-c.ll -enable-cache-manager
>>>>>> -object-cache-dir=%t.cachedir %s
>>>>>>
>>>>>>  ; Collect generated objects.
>>>>>>  ; RUN: find %t.cachedir -type f -name 'multi-module-?.o' -exec mv -v
>>>>>> '{}' %t.cachedir2 ';'
>>>>>>
>>>>>>  ; This line tests MCJIT object loading
>>>>>> -; RUN: %lli -use-orcmcjit
>>>>>> -extra-object=%t.cachedir2/multi-module-b.o
>>>>>> -extra-object=%t.cachedir2/multi-module-c.o %s
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit
>>>>>> -extra-object=%t.cachedir2/multi-module-b.o
>>>>>> -extra-object=%t.cachedir2/multi-module-c.o %s
>>>>>>
>>>>>>  ; These lines put the object files into an archive
>>>>>>  ; RUN: llvm-ar r %t.cachedir3/load-object.a
>>>>>> %t.cachedir2/multi-module-b.o
>>>>>>  ; RUN: llvm-ar r %t.cachedir3/load-object.a
>>>>>> %t.cachedir2/multi-module-c.o
>>>>>>
>>>>>>  ; This line test MCJIT archive loading
>>>>>> -; RUN: %lli -use-orcmcjit -extra-archive=%t.cachedir3/load-object.a
>>>>>> %s
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit
>>>>>> -extra-archive=%t.cachedir3/load-object.a %s
>>>>>>
>>>>>>  declare i32 @FB()
>>>>>>
>>>>>>
>>>>>> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-a.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-a.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-a.ll
>>>>>> (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-a.ll Wed
>>>>>> Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit -extra-module=%p/Inputs/multi-module-b.ll
>>>>>> -extra-module=%p/Inputs/multi-module-c.ll %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit
>>>>>> -extra-module=%p/Inputs/multi-module-b.ll
>>>>>> -extra-module=%p/Inputs/multi-module-c.ll %s > /dev/null
>>>>>>
>>>>>>  declare i32 @FB()
>>>>>>
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-eh-a.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-eh-a.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-eh-a.ll
>>>>>> (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-eh-a.ll Wed
>>>>>> Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit
>>>>>> -extra-module=%p/Inputs/multi-module-eh-b.ll %s
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit
>>>>>> -extra-module=%p/Inputs/multi-module-eh-b.ll %s
>>>>>>  ; XFAIL: arm, cygwin, win32, mingw, asan, msan
>>>>>>  declare i8* @__cxa_allocate_exception(i64)
>>>>>>  declare void @__cxa_throw(i8*, i8*, i8*)
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-sm-pic-a.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-sm-pic-a.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-sm-pic-a.ll
>>>>>> (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/multi-module-sm-pic-a.ll
>>>>>> Wed Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit -extra-module=%p/Inputs/multi-module-b.ll
>>>>>> -extra-module=%p/Inputs/multi-module-c.ll -relocation-model=pic
>>>>>> -code-model=small %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit
>>>>>> -extra-module=%p/Inputs/multi-module-b.ll
>>>>>> -extra-module=%p/Inputs/multi-module-c.ll -relocation-model=pic
>>>>>> -code-model=small %s > /dev/null
>>>>>>  ; XFAIL: mips, i686, i386
>>>>>>
>>>>>>  declare i32 @FB()
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/non-extern-addend.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/non-extern-addend.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/non-extern-addend.ll
>>>>>> (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/non-extern-addend.ll Wed
>>>>>> Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  define i32 @foo(i32 %x, i32 %y, double %d) {
>>>>>>  entry:
>>>>>>
>>>>>> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/pr13727.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/pr13727.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/pr13727.ll (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/pr13727.ll Wed Mar 25
>>>>>> 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit -O0 -disable-lazy-compilation=false %s
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit -O0 -disable-lazy-compilation=false
>>>>>> %s
>>>>>>
>>>>>>  ; The intention of this test is to verify that symbols mapped to
>>>>>> COMMON in ELF
>>>>>>  ; work as expected.
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/cross-module-a.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/cross-module-a.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/cross-module-a.ll
>>>>>> (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/cross-module-a.ll
>>>>>> Wed Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit -extra-module=%p/Inputs/cross-module-b.ll
>>>>>> -disable-lazy-compilation=true -remote-mcjit
>>>>>> -mcjit-remote-process=lli-child-target%exeext %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit
>>>>>> -extra-module=%p/Inputs/cross-module-b.ll -disable-lazy-compilation=true
>>>>>> -remote-mcjit -mcjit-remote-process=lli-child-target%exeext %s > /dev/null
>>>>>>
>>>>>>  declare i32 @FB()
>>>>>>
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/cross-module-sm-pic-a.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/cross-module-sm-pic-a.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> ---
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/cross-module-sm-pic-a.ll
>>>>>> (original)
>>>>>> +++
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/cross-module-sm-pic-a.ll
>>>>>> Wed Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit -extra-module=%p/Inputs/cross-module-b.ll
>>>>>> -disable-lazy-compilation=true -remote-mcjit
>>>>>> -mcjit-remote-process=lli-child-target%exeext -relocation-model=pic
>>>>>> -code-model=small %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit
>>>>>> -extra-module=%p/Inputs/cross-module-b.ll -disable-lazy-compilation=true
>>>>>> -remote-mcjit -mcjit-remote-process=lli-child-target%exeext
>>>>>> -relocation-model=pic -code-model=small %s > /dev/null
>>>>>>  ; XFAIL: mips, i686, i386, arm
>>>>>>
>>>>>>  declare i32 @FB()
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/multi-module-a.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/multi-module-a.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/multi-module-a.ll
>>>>>> (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/multi-module-a.ll
>>>>>> Wed Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit -extra-module=%p/Inputs/multi-module-b.ll
>>>>>> -extra-module=%p/Inputs/multi-module-c.ll -disable-lazy-compilation=true
>>>>>> -remote-mcjit -mcjit-remote-process=lli-child-target%exeext %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit
>>>>>> -extra-module=%p/Inputs/multi-module-b.ll
>>>>>> -extra-module=%p/Inputs/multi-module-c.ll -disable-lazy-compilation=true
>>>>>> -remote-mcjit -mcjit-remote-process=lli-child-target%exeext %s > /dev/null
>>>>>>
>>>>>>  declare i32 @FB()
>>>>>>
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/multi-module-sm-pic-a.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/multi-module-sm-pic-a.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> ---
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/multi-module-sm-pic-a.ll
>>>>>> (original)
>>>>>> +++
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/multi-module-sm-pic-a.ll
>>>>>> Wed Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit -extra-module=%p/Inputs/multi-module-b.ll
>>>>>> -extra-module=%p/Inputs/multi-module-c.ll -disable-lazy-compilation=true
>>>>>> -remote-mcjit -mcjit-remote-process=lli-child-target%exeext
>>>>>> -relocation-model=pic -code-model=small %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit
>>>>>> -extra-module=%p/Inputs/multi-module-b.ll
>>>>>> -extra-module=%p/Inputs/multi-module-c.ll -disable-lazy-compilation=true
>>>>>> -remote-mcjit -mcjit-remote-process=lli-child-target%exeext
>>>>>> -relocation-model=pic -code-model=small %s > /dev/null
>>>>>>  ; XFAIL: mips, i686, i386, arm
>>>>>>
>>>>>>  declare i32 @FB()
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/simpletest-remote.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/simpletest-remote.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> ---
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/simpletest-remote.ll
>>>>>> (original)
>>>>>> +++
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/simpletest-remote.ll Wed
>>>>>> Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit -remote-mcjit
>>>>>> -mcjit-remote-process=lli-child-target%exeext %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit
>>>>>> -mcjit-remote-process=lli-child-target%exeext %s > /dev/null
>>>>>>
>>>>>>  define i32 @bar() nounwind {
>>>>>>         ret i32 0
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/stubs-remote.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/stubs-remote.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/stubs-remote.ll
>>>>>> (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/stubs-remote.ll
>>>>>> Wed Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit -remote-mcjit
>>>>>> -disable-lazy-compilation=false
>>>>>> -mcjit-remote-process=lli-child-target%exeext %s
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit
>>>>>> -disable-lazy-compilation=false
>>>>>> -mcjit-remote-process=lli-child-target%exeext %s
>>>>>>  ; XFAIL: *
>>>>>>  ; This test should fail until remote symbol resolution is supported.
>>>>>>
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/stubs-sm-pic.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/stubs-sm-pic.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/stubs-sm-pic.ll
>>>>>> (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/stubs-sm-pic.ll
>>>>>> Wed Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit -remote-mcjit
>>>>>> -disable-lazy-compilation=false -relocation-model=pic -code-model=small %s
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit
>>>>>> -disable-lazy-compilation=false -relocation-model=pic -code-model=small %s
>>>>>>  ; XFAIL: *
>>>>>>  ; This function should fail until remote symbol resolution is
>>>>>> supported.
>>>>>>
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-common-symbols-remote.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-common-symbols-remote.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> ---
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-common-symbols-remote.ll
>>>>>> (original)
>>>>>> +++
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-common-symbols-remote.ll
>>>>>> Wed Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit -remote-mcjit -O0
>>>>>> -disable-lazy-compilation=false
>>>>>> -mcjit-remote-process=lli-child-target%exeext %s
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit -O0
>>>>>> -disable-lazy-compilation=false
>>>>>> -mcjit-remote-process=lli-child-target%exeext %s
>>>>>>
>>>>>>  ; The intention of this test is to verify that symbols mapped to
>>>>>> COMMON in ELF
>>>>>>  ; work as expected.
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-data-align-remote.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-data-align-remote.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> ---
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-data-align-remote.ll
>>>>>> (original)
>>>>>> +++
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-data-align-remote.ll
>>>>>> Wed Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN:  %lli -use-orcmcjit -remote-mcjit -O0
>>>>>> -mcjit-remote-process=lli-child-target%exeext %s
>>>>>> +; RUN:  %lli -jit-kind=orc-mcjit -remote-mcjit -O0
>>>>>> -mcjit-remote-process=lli-child-target%exeext %s
>>>>>>
>>>>>>  ; Check that a variable is always aligned as specified.
>>>>>>
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-fp-no-external-funcs-remote.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-fp-no-external-funcs-remote.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> ---
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-fp-no-external-funcs-remote.ll
>>>>>> (original)
>>>>>> +++
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-fp-no-external-funcs-remote.ll
>>>>>> Wed Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit -remote-mcjit
>>>>>> -mcjit-remote-process=lli-child-target%exeext %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit
>>>>>> -mcjit-remote-process=lli-child-target%exeext %s > /dev/null
>>>>>>
>>>>>>  define double @test(double* %DP, double %Arg) nounwind {
>>>>>>         %D = load double, double* %DP           ; <double> [#uses=1]
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-remote.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-remote.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> ---
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-remote.ll
>>>>>> (original)
>>>>>> +++
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-remote.ll
>>>>>> Wed Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit -remote-mcjit
>>>>>> -mcjit-remote-process=lli-child-target%exeext %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit
>>>>>> -mcjit-remote-process=lli-child-target%exeext %s > /dev/null
>>>>>>
>>>>>>  @count = global i32 1, align 4
>>>>>>
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> ---
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll
>>>>>> (original)
>>>>>> +++
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll
>>>>>> Wed Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit -remote-mcjit -relocation-model=pic
>>>>>> -code-model=small %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit -relocation-model=pic
>>>>>> -code-model=small %s > /dev/null
>>>>>>  ; XFAIL: mips, aarch64, arm, i686, i386
>>>>>>
>>>>>>  @count = global i32 1, align 4
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-remote.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-remote.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> ---
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-remote.ll
>>>>>> (original)
>>>>>> +++
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-remote.ll
>>>>>> Wed Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit -remote-mcjit -O0
>>>>>> -mcjit-remote-process=lli-child-target%exeext %s
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit -O0
>>>>>> -mcjit-remote-process=lli-child-target%exeext %s
>>>>>>
>>>>>>  @.str = private unnamed_addr constant [6 x i8] c"data1\00", align 1
>>>>>>  @ptr = global i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str,
>>>>>> i32 0, i32 0), align 4
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> ---
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll
>>>>>> (original)
>>>>>> +++
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll
>>>>>> Wed Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit -remote-mcjit -O0 -relocation-model=pic
>>>>>> -code-model=small %s
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit -O0
>>>>>> -relocation-model=pic -code-model=small %s
>>>>>>  ; XFAIL: mips, aarch64, arm, i686, i386
>>>>>>
>>>>>>  @.str = private unnamed_addr constant [6 x i8] c"data1\00", align 1
>>>>>>
>>>>>> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/simplesttest.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/simplesttest.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/simplesttest.ll
>>>>>> (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/simplesttest.ll Wed Mar
>>>>>> 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  define i32 @main() {
>>>>>>         ret i32 0
>>>>>>
>>>>>> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/simpletest.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/simpletest.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/simpletest.ll (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/simpletest.ll Wed Mar 25
>>>>>> 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  define i32 @bar() {
>>>>>>         ret i32 0
>>>>>>
>>>>>> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll
>>>>>> (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll Wed Mar
>>>>>> 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit -disable-lazy-compilation=false
>>>>>> -relocation-model=pic -code-model=small %s
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit -disable-lazy-compilation=false
>>>>>> -relocation-model=pic -code-model=small %s
>>>>>>  ; XFAIL: mips, i686, i386, aarch64, arm
>>>>>>
>>>>>>  define i32 @main() nounwind {
>>>>>>
>>>>>> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/stubs.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/stubs.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/stubs.ll (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/stubs.ll Wed Mar 25
>>>>>> 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit -disable-lazy-compilation=false %s
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit -disable-lazy-compilation=false %s
>>>>>>
>>>>>>  define i32 @main() nounwind {
>>>>>>  entry:
>>>>>>
>>>>>> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-arith.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-arith.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-arith.ll (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-arith.ll Wed Mar 25
>>>>>> 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  define i32 @main() {
>>>>>>         %A = add i8 0, 12               ; <i8> [#uses=1]
>>>>>>
>>>>>> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-branch.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-branch.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-branch.ll (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-branch.ll Wed Mar
>>>>>> 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  ; test unconditional branch
>>>>>>  define i32 @main() {
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-call-no-external-funcs.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-call-no-external-funcs.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> ---
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-call-no-external-funcs.ll
>>>>>> (original)
>>>>>> +++
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-call-no-external-funcs.ll Wed
>>>>>> Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  define i32 @_Z14func_exit_codev() nounwind uwtable {
>>>>>>  entry:
>>>>>>
>>>>>> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-call.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-call.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-call.ll (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-call.ll Wed Mar 25
>>>>>> 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  declare void @exit(i32)
>>>>>>
>>>>>>
>>>>>> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-cast.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-cast.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-cast.ll (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-cast.ll Wed Mar 25
>>>>>> 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  define i32 @foo() {
>>>>>>         ret i32 0
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-common-symbols-alignment.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-common-symbols-alignment.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> ---
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-common-symbols-alignment.ll
>>>>>> (original)
>>>>>> +++
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-common-symbols-alignment.ll
>>>>>> Wed Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit -O0 %s
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit -O0 %s
>>>>>>
>>>>>>  ; This test checks that common symbols have been allocated addresses
>>>>>> honouring
>>>>>>  ; the alignment requirement.
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-common-symbols.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-common-symbols.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-common-symbols.ll
>>>>>> (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-common-symbols.ll
>>>>>> Wed Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit -O0 -disable-lazy-compilation=false %s
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit -O0 -disable-lazy-compilation=false
>>>>>> %s
>>>>>>
>>>>>>  ; The intention of this test is to verify that symbols mapped to
>>>>>> COMMON in ELF
>>>>>>  ; work as expected.
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-constantexpr.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-constantexpr.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-constantexpr.ll
>>>>>> (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-constantexpr.ll Wed
>>>>>> Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  ; This tests to make sure that we can evaluate weird constant
>>>>>> expressions
>>>>>>
>>>>>>
>>>>>> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-data-align.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-data-align.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-data-align.ll
>>>>>> (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-data-align.ll Wed
>>>>>> Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit -O0 %s
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit -O0 %s
>>>>>>
>>>>>>  ; Check that a variable is always aligned as specified.
>>>>>>
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-fp-no-external-funcs.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-fp-no-external-funcs.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> ---
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-fp-no-external-funcs.ll
>>>>>> (original)
>>>>>> +++
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-fp-no-external-funcs.ll Wed
>>>>>> Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  define double @test(double* %DP, double %Arg) {
>>>>>>         %D = load double, double* %DP           ; <double> [#uses=1]
>>>>>>
>>>>>> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-fp.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-fp.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-fp.ll (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-fp.ll Wed Mar 25
>>>>>> 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  define double @test(double* %DP, double %Arg) {
>>>>>>         %D = load double, double* %DP           ; <double> [#uses=1]
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-ctors.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-ctors.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-ctors.ll
>>>>>> (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-ctors.ll Wed
>>>>>> Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>  ; XFAIL: darwin
>>>>>>  @var = global i32 1, align 4
>>>>>>  @llvm.global_ctors = appending global [1 x { i32, void ()* }] [{
>>>>>> i32, void ()* } { i32 65535, void ()* @ctor_func }]
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero-sm-pic.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero-sm-pic.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> ---
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero-sm-pic.ll
>>>>>> (original)
>>>>>> +++
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero-sm-pic.ll
>>>>>> Wed Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit -relocation-model=pic -code-model=small %s
>>>>>> > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit -relocation-model=pic
>>>>>> -code-model=small %s > /dev/null
>>>>>>  ; XFAIL: mips, aarch64, arm, i686, i386
>>>>>>
>>>>>>  @count = global i32 1, align 4
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> ---
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero.ll
>>>>>> (original)
>>>>>> +++
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero.ll Wed
>>>>>> Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  @count = global i32 1, align 4
>>>>>>
>>>>>>
>>>>>> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global.ll (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-global.ll Wed Mar
>>>>>> 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  @count = global i32 0, align 4
>>>>>>
>>>>>>
>>>>>> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-loadstore.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-loadstore.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-loadstore.ll
>>>>>> (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-loadstore.ll Wed
>>>>>> Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  define void @test(i8* %P, i16* %P.upgrd.1, i32* %P.upgrd.2, i64*
>>>>>> %P.upgrd.3) {
>>>>>>         %V = load i8, i8* %P            ; <i8> [#uses=1]
>>>>>>
>>>>>> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-local.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-local.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-local.ll (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-local.ll Wed Mar 25
>>>>>> 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  define i32 @main() nounwind uwtable {
>>>>>>  entry:
>>>>>>
>>>>>> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-logical.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-logical.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-logical.ll
>>>>>> (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-logical.ll Wed Mar
>>>>>> 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  define i32 @main() {
>>>>>>         %A = and i8 4, 8                ; <i8> [#uses=2]
>>>>>>
>>>>>> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-loop.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-loop.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-loop.ll (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-loop.ll Wed Mar 25
>>>>>> 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  define i32 @main() {
>>>>>>  ; <label>:0
>>>>>>
>>>>>> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-phi.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-phi.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-phi.ll (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-phi.ll Wed Mar 25
>>>>>> 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  ; test phi node
>>>>>>  @Y = global i32 6              ; <i32*> [#uses=1]
>>>>>>
>>>>>> Modified:
>>>>>> llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc-sm-pic.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc-sm-pic.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc-sm-pic.ll
>>>>>> (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc-sm-pic.ll
>>>>>> Wed Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit -O0 -relocation-model=pic
>>>>>> -code-model=small %s
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit -O0 -relocation-model=pic
>>>>>> -code-model=small %s
>>>>>>  ; XFAIL: mips, aarch64, arm, i686, i386
>>>>>>
>>>>>>  @.str = private unnamed_addr constant [6 x i8] c"data1\00", align 1
>>>>>>
>>>>>> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc.ll
>>>>>> (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc.ll Wed
>>>>>> Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit -O0 %s
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit -O0 %s
>>>>>>
>>>>>>  @.str = private unnamed_addr constant [6 x i8] c"data1\00", align 1
>>>>>>  @ptr = global i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str,
>>>>>> i32 0, i32 0), align 4
>>>>>>
>>>>>> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ret.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ret.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ret.ll (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-ret.ll Wed Mar 25
>>>>>> 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  ; test return instructions
>>>>>>  define void @test1() {
>>>>>>
>>>>>> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-return.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-return.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-return.ll (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-return.ll Wed Mar
>>>>>> 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  define i32 @main() nounwind uwtable {
>>>>>>  entry:
>>>>>>
>>>>>> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-setcond-fp.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-setcond-fp.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-setcond-fp.ll
>>>>>> (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-setcond-fp.ll Wed
>>>>>> Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>
>>>>>>  define i32 @main() {
>>>>>>
>>>>>> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-setcond-int.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-setcond-int.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-setcond-int.ll
>>>>>> (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-setcond-int.ll Wed
>>>>>> Mar 25 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  define i32 @main() {
>>>>>>         %int1 = add i32 0, 0            ; <i32> [#uses=6]
>>>>>>
>>>>>> Modified: llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-shift.ll
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-shift.ll?rev=233182&r1=233180&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-shift.ll (original)
>>>>>> +++ llvm/trunk/test/ExecutionEngine/OrcMCJIT/test-shift.ll Wed Mar 25
>>>>>> 07:11:48 2015
>>>>>> @@ -1,4 +1,4 @@
>>>>>> -; RUN: %lli -use-orcmcjit %s > /dev/null
>>>>>> +; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
>>>>>>
>>>>>>  define i32 @main() {
>>>>>>         %shamt = add i8 0, 1            ; <i8> [#uses=8]
>>>>>>
>>>>>> Modified: llvm/trunk/tools/lli/CMakeLists.txt
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/lli/CMakeLists.txt?rev=233182&r1=233181&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/tools/lli/CMakeLists.txt (original)
>>>>>> +++ llvm/trunk/tools/lli/CMakeLists.txt Wed Mar 25 07:11:48 2015
>>>>>> @@ -35,6 +35,7 @@ endif( LLVM_USE_INTEL_JITEVENTS )
>>>>>>
>>>>>>  add_llvm_tool(lli
>>>>>>    lli.cpp
>>>>>> +  OrcLazyJIT.cpp
>>>>>>    RemoteMemoryManager.cpp
>>>>>>    RemoteTarget.cpp
>>>>>>    RemoteTargetExternal.cpp
>>>>>>
>>>>>> Added: llvm/trunk/tools/lli/OrcLazyJIT.cpp
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/lli/OrcLazyJIT.cpp?rev=233182&view=auto
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/tools/lli/OrcLazyJIT.cpp (added)
>>>>>> +++ llvm/trunk/tools/lli/OrcLazyJIT.cpp Wed Mar 25 07:11:48 2015
>>>>>> @@ -0,0 +1,53 @@
>>>>>> +//===------ OrcLazyJIT.cpp - Basic Orc-based JIT for lazy execution
>>>>>> -------===//
>>>>>> +//
>>>>>> +//                     The LLVM Compiler Infrastructure
>>>>>> +//
>>>>>> +// This file is distributed under the University of Illinois Open
>>>>>> Source
>>>>>> +// License. See LICENSE.TXT for details.
>>>>>> +//
>>>>>>
>>>>>> +//===----------------------------------------------------------------------===//
>>>>>> +
>>>>>> +#include "OrcLazyJIT.h"
>>>>>> +#include "llvm/ExecutionEngine/Orc/OrcTargetSupport.h"
>>>>>> +
>>>>>> +using namespace llvm;
>>>>>> +
>>>>>> +std::unique_ptr<OrcLazyJIT::CompileCallbackMgr>
>>>>>> +OrcLazyJIT::createCallbackMgr(Triple T, LLVMContext &Context) {
>>>>>> +  switch (T.getArch()) {
>>>>>> +    default:
>>>>>> +      // Flag error.
>>>>>> +      Error = true;
>>>>>> +      return nullptr;
>>>>>> +
>>>>>> +    case Triple::x86_64: {
>>>>>> +      typedef orc::JITCompileCallbackManager<CompileLayerT,
>>>>>>
>>>>>
>>>>> CompileLayerT? That seems like a strange type name - I'd expect BlahT
>>>>> to be a template type parameter, perhaps?
>>>>>
>>>>>
>>>>>> +                                             orc::OrcX86_64> CCMgrT;
>>>>>> +      return make_unique<CCMgrT>(CompileLayer, Context, 0, 64);
>>>>>> +    }
>>>>>> +  }
>>>>>> +}
>>>>>> +
>>>>>> +int llvm::runOrcLazyJIT(std::unique_ptr<Module> M, int ArgC, char*
>>>>>> ArgV[]) {
>>>>>> +  OrcLazyJIT
>>>>>> J(std::unique_ptr<TargetMachine>(EngineBuilder().selectTarget()),
>>>>>>
>>>>>
>>>>> Is it practical/worth unique_ptr-izing selectTarget?
>>>>>
>>>>>
>>>>>> +               getGlobalContext());
>>>>>> +
>>>>>> +  if (!J.Ok()) {
>>>>>> +    errs() << "Could not construct JIT.\n";
>>>>>> +    return 1;
>>>>>> +  }
>>>>>> +
>>>>>> +  auto MainHandle = J.addModule(std::move(M));
>>>>>> +  auto MainSym = J.findSymbolIn(MainHandle, "main");
>>>>>> +
>>>>>> +  if (!MainSym) {
>>>>>> +    errs() << "Could not find main function.\n";
>>>>>> +    return 1;
>>>>>> +  }
>>>>>> +
>>>>>> +  typedef int (*MainFnPtr)(int, char*[]);
>>>>>> +  auto Main = reinterpret_cast<MainFnPtr>(
>>>>>> +                static_cast<uintptr_t>(MainSym.getAddress()));
>>>>>
>>>>>
>>>>> I guess getAddress doesn't return uintptr_t for the times when you're
>>>>> doing cross-architecture execution?
>>>>>
>>>>>
>>>>>>
>>>>>
>>>>> +
>>>>>> +  return Main(ArgC, ArgV);
>>>>>> +}
>>>>>>
>>>>>> Added: llvm/trunk/tools/lli/OrcLazyJIT.h
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/lli/OrcLazyJIT.h?rev=233182&view=auto
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/tools/lli/OrcLazyJIT.h (added)
>>>>>> +++ llvm/trunk/tools/lli/OrcLazyJIT.h Wed Mar 25 07:11:48 2015
>>>>>> @@ -0,0 +1,97 @@
>>>>>> +//===--- OrcLazyJIT.h - Basic Orc-based JIT for lazy execution --*-
>>>>>> C++ -*-===//
>>>>>> +//
>>>>>> +//                     The LLVM Compiler Infrastructure
>>>>>> +//
>>>>>> +// This file is distributed under the University of Illinois Open
>>>>>> Source
>>>>>> +// License. See LICENSE.TXT for details.
>>>>>> +//
>>>>>>
>>>>>> +//===----------------------------------------------------------------------===//
>>>>>> +//
>>>>>> +// Simple Orc-based JIT. Uses the compile-on-demand layer to break
>>>>>> up and
>>>>>> +// lazily compile modules.
>>>>>> +//
>>>>>>
>>>>>> +//===----------------------------------------------------------------------===//
>>>>>> +
>>>>>> +#ifndef LLVM_TOOLS_LLI_ORCLAZYJIT_H
>>>>>> +#define LLVM_TOOLS_LLI_ORCLAZYJIT_H
>>>>>> +
>>>>>> +#include "llvm/ADT/Triple.h"
>>>>>> +#include "llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h"
>>>>>> +#include "llvm/ExecutionEngine/Orc/CompileUtils.h"
>>>>>> +#include "llvm/ExecutionEngine/Orc/IRCompileLayer.h"
>>>>>> +#include "llvm/ExecutionEngine/Orc/LazyEmittingLayer.h"
>>>>>> +#include "llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h"
>>>>>> +#include "llvm/IR/LLVMContext.h"
>>>>>> +
>>>>>> +namespace llvm {
>>>>>> +
>>>>>> +class OrcLazyJIT {
>>>>>> +public:
>>>>>> +
>>>>>> +  typedef orc::JITCompileCallbackManagerBase CompileCallbackMgr;
>>>>>> +  typedef orc::ObjectLinkingLayer<> ObjLayerT;
>>>>>> +  typedef orc::IRCompileLayer<ObjLayerT> CompileLayerT;
>>>>>> +  typedef orc::LazyEmittingLayer<CompileLayerT> LazyEmitLayerT;
>>>>>> +  typedef orc::CompileOnDemandLayer<LazyEmitLayerT,
>>>>>> +                                    CompileCallbackMgr> CODLayerT;
>>>>>> +  typedef typename CODLayerT::ModuleSetHandleT ModuleHandleT;
>>>>>>
>>>>>
>>>>> Ah, here are all the FooTs... hmm, wonder if there's a better naming
>>>>> scheme? Maybe not.
>>>>>
>>>>>
>>>>>> +
>>>>>> +  OrcLazyJIT(std::unique_ptr<TargetMachine> TM, LLVMContext &Context)
>>>>>> +    : Error(false), TM(std::move(TM)),
>>>>>> +      Mang(this->TM->getDataLayout()),
>>>>>> +      ObjectLayer([](){ return
>>>>>> llvm::make_unique<SectionMemoryManager>(); }),
>>>>>> +      CompileLayer(ObjectLayer, orc::SimpleCompiler(*this->TM)),
>>>>>> +      LazyEmitLayer(CompileLayer),
>>>>>> +      CCMgr(createCallbackMgr(Triple(this->TM->getTargetTriple()),
>>>>>> Context)),
>>>>>> +      CODLayer(LazyEmitLayer, *CCMgr) { }
>>>>>> +
>>>>>> +  bool Ok() const { return !Error; }
>>>>>>
>>>>>
>>>>> explicit operator bool?
>>>>>
>>>>>
>>>>>> +
>>>>>> +  ModuleHandleT addModule(std::unique_ptr<Module> M) {
>>>>>> +    // Attach a data-layout if one isn't already present.
>>>>>> +    if (M->getDataLayout().isDefault())
>>>>>> +      M->setDataLayout(*TM->getDataLayout());
>>>>>> +
>>>>>> +    std::vector<std::unique_ptr<Module>> S;
>>>>>> +    S.push_back(std::move(M));
>>>>>> +    return CODLayer.addModuleSet(std::move(S));
>>>>>> +  }
>>>>>> +
>>>>>> +  orc::JITSymbol findSymbol(const std::string &Name) {
>>>>>> +    return CODLayer.findSymbol(mangle(Name), true);
>>>>>> +  }
>>>>>> +
>>>>>> +  orc::JITSymbol findSymbolIn(ModuleHandleT H, const std::string
>>>>>> &Name) {
>>>>>> +    return CODLayer.findSymbolIn(H, mangle(Name), true);
>>>>>> +  }
>>>>>> +
>>>>>> +private:
>>>>>> +
>>>>>> +  std::unique_ptr<CompileCallbackMgr>
>>>>>> +  createCallbackMgr(Triple T, LLVMContext &Context);
>>>>>> +
>>>>>> +  std::string mangle(const std::string &Name) {
>>>>>> +    std::string MangledName;
>>>>>> +    {
>>>>>> +      raw_string_ostream MangledNameStream(MangledName);
>>>>>> +      Mang.getNameWithPrefix(MangledNameStream, Name);
>>>>>> +    }
>>>>>> +    return MangledName;
>>>>>> +  }
>>>>>> +
>>>>>> +  bool Error;
>>>>>> +  std::unique_ptr<TargetMachine> TM;
>>>>>> +  Mangler Mang;
>>>>>> +
>>>>>> +  ObjLayerT ObjectLayer;
>>>>>> +  CompileLayerT CompileLayer;
>>>>>> +  LazyEmitLayerT LazyEmitLayer;
>>>>>> +  std::unique_ptr<CompileCallbackMgr> CCMgr;
>>>>>> +  CODLayerT CODLayer;
>>>>>> +};
>>>>>> +
>>>>>> +int runOrcLazyJIT(std::unique_ptr<Module> M, int ArgC, char* ArgV[]);
>>>>>> +
>>>>>> +} // end namespace llvm
>>>>>> +
>>>>>> +#endif
>>>>>>
>>>>>> Modified: llvm/trunk/tools/lli/lli.cpp
>>>>>> URL:
>>>>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/lli/lli.cpp?rev=233182&r1=233181&r2=233182&view=diff
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- llvm/trunk/tools/lli/lli.cpp (original)
>>>>>> +++ llvm/trunk/tools/lli/lli.cpp Wed Mar 25 07:11:48 2015
>>>>>> @@ -14,6 +14,7 @@
>>>>>>
>>>>>>  //===----------------------------------------------------------------------===//
>>>>>>
>>>>>>  #include "llvm/IR/LLVMContext.h"
>>>>>> +#include "OrcLazyJIT.h"
>>>>>>  #include "RemoteMemoryManager.h"
>>>>>>  #include "RemoteTarget.h"
>>>>>>  #include "RemoteTargetExternal.h"
>>>>>> @@ -66,6 +67,9 @@ using namespace llvm;
>>>>>>  #define DEBUG_TYPE "lli"
>>>>>>
>>>>>>  namespace {
>>>>>> +
>>>>>> +  enum class JITKind { MCJIT, OrcMCJITReplacement, OrcLazy };
>>>>>> +
>>>>>>    cl::opt<std::string>
>>>>>>    InputFile(cl::desc("<input bitcode>"), cl::Positional,
>>>>>> cl::init("-"));
>>>>>>
>>>>>> @@ -76,12 +80,19 @@ namespace {
>>>>>>                                   cl::desc("Force interpretation:
>>>>>> disable JIT"),
>>>>>>                                   cl::init(false));
>>>>>>
>>>>>> -  cl::opt<bool> UseOrcMCJITReplacement("use-orcmcjit",
>>>>>> -                                       cl::desc("Use the
>>>>>> experimental "
>>>>>> -                                                "OrcMCJITReplacement
>>>>>> as a "
>>>>>> -                                                "drop-in replacement
>>>>>> for "
>>>>>> -                                                "MCJIT."),
>>>>>> -                                       cl::init(false));
>>>>>> +  cl::opt<JITKind> UseJITKind("jit-kind",
>>>>>> +                              cl::desc("Choose underlying JIT
>>>>>> kind."),
>>>>>> +                              cl::init(JITKind::MCJIT),
>>>>>> +                              cl::values(
>>>>>> +                                clEnumValN(JITKind::MCJIT, "mcjit",
>>>>>> +                                           "MCJIT"),
>>>>>> +
>>>>>> clEnumValN(JITKind::OrcMCJITReplacement,
>>>>>> +                                           "orc-mcjit",
>>>>>> +                                           "Orc-based MCJIT
>>>>>> replacement"),
>>>>>> +                                clEnumValN(JITKind::OrcLazy,
>>>>>> +                                           "orc-lazy",
>>>>>> +                                           "Orc-based lazy JIT."),
>>>>>> +                                clEnumValEnd));
>>>>>>
>>>>>>    // The MCJIT supports building for a target address space separate
>>>>>> from
>>>>>>    // the JIT compilation process. Use a forked process and a copying
>>>>>> @@ -404,6 +415,9 @@ int main(int argc, char **argv, char * c
>>>>>>      return 1;
>>>>>>    }
>>>>>>
>>>>>> +  if (UseJITKind == JITKind::OrcLazy)
>>>>>> +    return runOrcLazyJIT(std::move(Owner), argc, argv);
>>>>>> +
>>>>>>    if (EnableCacheManager) {
>>>>>>      std::string CacheName("file:");
>>>>>>      CacheName.append(InputFile);
>>>>>> @@ -430,7 +444,7 @@ int main(int argc, char **argv, char * c
>>>>>>    builder.setEngineKind(ForceInterpreter
>>>>>>                          ? EngineKind::Interpreter
>>>>>>                          : EngineKind::JIT);
>>>>>> -  builder.setUseOrcMCJITReplacement(UseOrcMCJITReplacement);
>>>>>> +  builder.setUseOrcMCJITReplacement(UseJITKind ==
>>>>>> JITKind::OrcMCJITReplacement);
>>>>>>
>>>>>>    // If we are supposed to override the target triple, do so now.
>>>>>>    if (!TargetTriple.empty())
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> llvm-commits mailing list
>>>>>> llvm-commits at cs.uiuc.edu
>>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150330/45b44d25/attachment.html>


More information about the llvm-commits mailing list