<div dir="ltr"><div><div><div><div><div><div><div><div><div><div>Dear Fami,<br><br><br></div>Pardon me for the late response.<br><br></div>The bc file is the bitcode version of the program IR for LLVM, you could generate it by clang:<br><br></div>$ clang -c -emit-llvm hello.c -o hello.bc<br><br></div>And llc is the LLVM bitcode compiler, which turns LLVM IR into executables. But it also supports turning IR into C++ code that uses LLVM API to generate the corresponding IR. I think it's a good reference for using LLVM C++ API. For example if you want to understand how you should use LLVM C++ API to generate code in hello.c (and therefore hello.bc as IR), try using the following:<br></div><br>$ llc -march=cpp hello.bc -o hello.cpp<br></div><br></div>The hello.cpp should contain the C++ code that uses C++ API to generate corresponding IR.<br><br>See more:<br><a href="http://llvm.org/releases/3.8.0/docs/CommandGuide/llc.html">http://llvm.org/releases/3.8.0/docs/CommandGuide/llc.html</a><br></div><br><br></div>Regards,<br></div>Kevin<br></div><br><div class="gmail_quote"><div dir="ltr">On Thu, Apr 7, 2016 at 9:10 AM fateme Hoseini <<a href="mailto:hoseini.f@gmail.com">hoseini.f@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Thank you all.<div>Kevin,</div><div>I didn't get your point. Do you mean to change the bc file and them create C++ out of it?</div><div>Regards,</div><div>Fami</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 5, 2016 at 4:48 PM, Kevin Hu <span dir="ltr"><<a href="mailto:hxy9243@gmail.com" target="_blank">hxy9243@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,<div><br></div><div>I think it's called getOrInsertFunction() in module class, with reference from:</div><div><br></div><div><a href="http://llvm.org/releases/2.6/docs/tutorial/JITTutorial1.html" target="_blank">http://llvm.org/releases/2.6/docs/tutorial/JITTutorial1.html</a><br></div><div><br></div><div>Also, when you encounter questions for LLVM C++ APIs in the future, you can write desired output code and use llc to generate proper C++API code, which I think is a very neat feature of LLVM.</div><div><br></div><div>e.g.</div><div>clang -c -emit-llvm your_desired_output.c</div><div>llc -march=cpp your_desired_output.bc</div><div><br></div><div>Hope this helps.</div><div>Regards,</div><div>Kevin</div><div><br></div><div><br><div class="gmail_quote"><div><div><div dir="ltr">On Tue, Apr 5, 2016 at 3:28 PM fateme Hoseini via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br></div></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">Hello everyone,<div>I am trying to add checkpoints to my IR code. In order to do that I need to add this instruction:</div><div>call void @m5_checkpoint(i64 0, i64 0)<br></div><div>to some of the basic blocks in my benchmark.<br></div><div>m5_checkpoint is a function defined for checkpointing in another simulator and is not included in my benchmark source code. So I need to create this instruction and I couldn't figure out how to do this by reading the manual. I will appreciate if anyone can help me .<br></div><div>Regards,</div><div>Fami</div></div></div></div>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div></div></div>
</blockquote></div><br></div>
</blockquote></div>