<div dir="ltr">Thanks for your reply, Yabin.<div><br></div><div>Actually I'm trying to come up with a way to translate any source code into bitcode format. So some of them are not necessarily LLVM intrinsics. Also it seems like that dynamically loading the library by dlopen() is for loading object files, not .bc files. So it might not be useful for library in .bc files.</div><div>Anyway, I've found a way to solve this by manually compiling each of the source file into a .bc file. </div><div><br></div><div>If there's any automated way to infer about all the subroutines that one function needs, clang them into .bc file and link them into a stand-alone .bc library, that will be more than appreciated:-)</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Sep 15, 2014 at 11:30 AM, Yabin Hu <span dir="ltr"><<a href="mailto:yabin.hwu@gmail.com" target="_blank">yabin.hwu@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Liwei,<div><br></div><div>You may at first look into whether there is a llvm intrinsic for the function you want to call. In case there is not, I would suggest you wrapped the original function in your own project and call the wrapped one instead. And at last you may dynamically load the original library and link to it at runtime (using dlopen).</div><div><br></div><div>Regards,</div><div>Yabin</div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div>2014-09-14 11:49 GMT+08:00 Liwei Yang <span dir="ltr"><<a href="mailto:yangliwei.uestc@gmail.com" target="_blank">yangliwei.uestc@gmail.com</a>></span>:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div dir="ltr"><div class="gmail_extra"><div>Hello,</div><div><br></div><div>I run into a situation where I need to provide the library functions, such as sqrt() from <math.h> and rand() from <stdlib.h>, in the format of LLVM IR bitcode files. Then I can try to link the bitcode of my program against these library bitcode files to formulate a holistic bitcode file.</div><div><br></div><div>However, these library functions are only available in object format. And the source files of them I found have many references to other library files.</div><div><br></div><div>So, is there any way to translate the library source files into bitcode files, so that all the information that the library functions need is included and can provide the implementation of these functions to the calling program after linking?</div><div><br></div><div>Thanks for any suggestions:)</div><span><font color="#888888"><div><br></div>-- <br>Best Regards<br>Liwei<br>
</font></span></div></div>
<br></div></div>_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu" target="_blank">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
<br></blockquote></div><br></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Best Regards<br>Liwei<br>
</div></div>