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

Mian M. Hamayun mian-muhammad.hamayun at imag.fr
Fri Sep 2 03:23:10 PDT 2011


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
>


-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3781 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110902/20fa7d3d/attachment.bin>


More information about the llvm-dev mailing list