[LLVMdev] some of Basic blocks are deleted after running embedded ExecutionEngine

Lang Hames lhames at gmail.com
Wed Nov 26 11:10:55 PST 2014


Hi Henry,

The ExecutionEngine owns any module that you pass to it, and it may make
modifications to the module even at O0. If you want to preserve the
existing module as-is you'll need to clone it and pass the clone to the
ExecutionEngine instead.

Cheers,
Lang.

On Tue, Nov 25, 2014 at 7:30 AM, David Blaikie <dblaikie at gmail.com> wrote:

> +Lang for jit things
> On Nov 24, 2014 11:15 PM, "Henry Chung" <zhguanwen at gmail.com> wrote:
>
>> Hi llvm-ers,
>>
>> I have integrated an ExecutionEngine in my pass, before I run the
>> execution engine, I check the program has 32 basic blocks. However, after I
>> run the execution engine, the number of basic blocks is 30. Two basic
>> blocks are deleted by the embedded JIT execution engine.
>>
>> Does the ExecutionEngine perform any optimization? If yes, how can I
>> disable it?
>>
>> Thanks,
>> Henry
>>
>>
>>
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20141126/ebd33e1c/attachment.html>


More information about the llvm-dev mailing list