[LLVMdev] Is it possible to inline Functions without using LLVM JIT Framework?

geovanisouza92 at gmail.com geovanisouza92 at gmail.com
Fri Sep 2 04:38:41 PDT 2011


Oh, Mian, sorry for my fool reply...

I was thinking that you do it in high-level...

Your idea is cool, 'cause allow integrate an inline methods generated from
diferent languages, right?

Thanks


2011/9/2 Mian M. Hamayun <mian-muhammad.hamayun at imag.fr>

> Thanks Eric, Jim and Geovani for your responses.
>
> Yes, we can combine two or more bitcode modules using llvm-ld and in this
> way functions can be inlined and optimized during this process.
>
> But I am also looking into the possibility of doing the same using LLVM
> Pass Manager (Without using llvm-ld). This looks difficult due to the fact
> that the function definitions ought to be in the same module as the caller,
> in order to be inlined and then optimized onwards, I guess !!! (Correct me
> If I am Wrong at this)
>
> Thanks Again,
> Hamayun
>
> P.S. @Geovani: "You have tried do it in semantical phase?"
> Which LLVM Passes are you referring here ? Because I am working at the
> LLVM-IR Level, where I generate LLVM-IR modules, optimize them and then
> compile them for a given target.
>
>
>
> On 09/01/2011 06:41 PM, Jim Grosbach wrote:
>
>> To do it manually, llvm-ld your modules to get a single module with both,
>> then run opt on the result to optimize it. From source code, you can just
>> use -O4 to the compiler on a system with a suitable linker (standard ld on
>> OSX; binutils+gold plugin on Linux, for example).
>>
>> -Jim
>>
>> On Sep 1, 2011, at 9:27 AM, Mian M. Hamayun wrote:
>>
>>  Hi Everyone,
>>>
>>> Hopefully this question is not too absurd.
>>>
>>> Actually I created an example in LLVM, where I generate two modules, one
>>> containing the function definition and the other module calling this
>>> function.
>>> (Question related to this was posted on this mailing list recently)
>>>
>>> Now I want to know, whether it is possible to "inline" the definition of
>>> this function in the caller module, using some optimization pass etc?
>>>
>>> I have previously experimented with LLVM's JIT Framework, and we can do
>>> something similar over there. But now I am interested in doing this without
>>> JIT Framework.
>>>
>>> Any ideas/suggestions/comments on how could we accomplish this?
>>>
>>> Thanks in advance,
>>> Mian M. Hamayun
>>> Grenoble, France.
>>>
>>>
>>> ______________________________**_________________
>>> LLVM Developers mailing list
>>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/**mailman/listinfo/llvmdev<http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev>
>>>
>>
>>
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>


-- 
@geovanisouza92 - Geovani de Souza
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110902/099cc3c2/attachment.html>


More information about the llvm-dev mailing list