[LLVMdev] MCJIT
Jim Grosbach
grosbach at apple.com
Mon May 14 10:28:51 PDT 2012
On May 14, 2012, at 10:21 AM, Ashok Nalkund <ashoknn at qualcomm.com> wrote:
> On 5/14/2012 9:51 AM, Jim Grosbach wrote:
>>
>>>>
>>>> If you're hitting that code, you're running the old JIT (which does indeed not support inline assembly), not the MCJIT.
>>>>
>>>
>>> Do I need to enable anything at configure, my configure looks like this:
>>>> ../llvm/configure --enable-libffi --enable-targets=host-only --prefix=/local/mnt/workspace/ashoknn/crd/neo/llvm/proto/llvmsvn/build/bin
>>>
>>> I added the enable-libffi when trying to figure out resolving external libs.
>>>
>>
>>
>> No, selecting MCJIT vs. the old JIT is done in the EngineBuilder. If you're using lli, you can pass -use-mcjit on the command line. If you're using your own driver, you can use the lli.cpp for a reference.
>>
>> -Jim
>
> Thats what I was pointed to earlier, and following that I set the flag in EngineBuilder.setUseMCJIT(true). I looked at the code of EngineBuilder, it saves the flag but the flag doesnt seem to be used anywhere. Am I missing something?
Hm. OK, that's odd. It should change which constructor gets called in EngineBuilder::create() (which is in lib/ExecutionEngine/ExecutionEngine.cpp). Are you perhaps calling setUseMCJIT(true) after having already called create()? Can you step through EngineBuilder::create() and see what's happening there?
-Jim
More information about the llvm-dev
mailing list