[LLVMdev] Code template for creating an llvm module from scratch

Zhoulai zell08v at gmail.com
Sat Apr 18 20:45:24 PDT 2015


Hi,

I have been looking for code examples to create an LLVM module from
scratch.

The LLVM API is certainly well-documented but may still looks daunting for
some. I have googled, and the only found document on this subject (of
creating an llvm module from scratch):

http://llvm.org/releases/2.6/docs/tutorial/JITTutorial1.html

should be outdated, given that llvm API evolves at each release.  Are you
aware of   a similar, more recent version of the linked ressource? For
information, what I need to do is roughly something like this:

1. create a new module m
2. create a new function f
3. clone the body of an existing function g from a file
4. put some special instructions into f, and call g at the end of f
5. put both f and g into m
6. return an llvm IR code derived from m.

I learned how to handle #4 by writing an LLVM pass (thanks to the 'hello
world' example at http://llvm.org/docs/WritingAnLLVMPass.html), but have
always had difficulties in finding template code for doing  #1~#3 and #5.
Any resource? Thanks for your help.

Zhoulai
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150418/dac760ed/attachment.html>


More information about the llvm-dev mailing list