[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