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

David Blaikie dblaikie at gmail.com
Mon Mar 30 12:34:21 PDT 2015


On Mon, Mar 30, 2015 at 11:41 AM, Lang Hames <lhames at gmail.com> wrote:

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

Looks plausible. Haven't thought too hard about it.

- David


>
> - 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/0c544380/attachment.html>


More information about the llvm-commits mailing list