Hi Liam,
CC'ing the dev list, since some people there might be interested in this too.
There are two other Orc-based JITs in tree. One is the MCJIT replacement, which you'll find in lib/ExecutionEngine/Orc/OrcMCJITReplacement.*, and the other is OrcLazyJIT, which you'll find in tools/lli/OrcLazyJIT.*. The former is just emulating MCJIT's behaviour, the latter is doing true lazy compilation of bitcode. Both are hooked up to lli, and be accessed using the -jit-kind option.
A useful source of bitcode examples is the regression test suite: test/ExecutionEngine/OrcMCJITReplacement and test/ExecutionEngine/OrcLazy. Each of these has at least a simple "hello.ll" file. OrcLazy is new, so there's not much more than that. OrcMCJITReplacement has duplicates of all of MCJIT's regression tests.
There are no examples that #ifdef out layers. This can be done, but we don't have a use-case for it yet. Do you have one in mind?
Cheers,
Lang.