There's an API elaborated in detail in the doxygen stuff at http:// llvm.org/doxygen/ There's an LLVM Language Reference Manual at http://llvm.org/docs/ LangRef.html, which describes a textual language and its semantics. The preferred mode of operation seems to be to use the API to construct an LLVM tree, and then compile to machine code from the tree. The textual form described in the reference manual seems to be used mainly as a debugging tool, so you can look at it and decide whether your compiler is generating the right tree. The reference manual relates the semantics to the textual form. But there doesn't seem to be documentation telling which operations in the API are used to construct the tree for which pieces of syntax, It would seem to me that this information should also be in the reference manual. -- hendrik