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

Henry Chung zhguanwen at gmail.com
Wed Nov 26 19:50:14 PST 2014


Hi Lang,

You are right. :-)
I succeed after passing the cloned module to the ExecutionEngine.

Thanks,
Henry

On Thu, Nov 27, 2014 at 3:10 AM, Lang Hames <lhames at gmail.com> wrote:

> 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/20141127/f3ecda49/attachment.html>


More information about the llvm-dev mailing list