I have only just begun looking through the docs for LLVM. I have read through some of the PP presentations to get an idea of the modularity of LLVM. May someone be so kind to point me to some documentation on how to communicate with the LLVM modules (specifically the optimizer) from some third party piece of software (my compiler)? I am hoping there is a file format, or some serialization, that LLVM modules can read and write. I am looking at the v1.9 tar file: are the *.ll files this serialization? If so, then I guess I am looking for a doc with a high level grammar specification. Thanks ahead of time. -- ---------------------------------------------------------------------- Kyle Lahnakoski kyle at arcavia.com (416) 892-7784 Arcavia Software Ltd
On Mar 28, 2007, at 2:06 PM, Kyle Lahnakoski wrote:> > I have only just begun looking through the docs for LLVM. I have read > through some of the PP presentations to get an idea of the > modularity of > LLVM. > > May someone be so kind to point me to some documentation on how to > communicate with the LLVM modules (specifically the optimizer) from > some > third party piece of software (my compiler)? > > I am hoping there is a file format, or some serialization, that LLVM > modules can read and write. I am looking at the v1.9 tar file: are > the > *.ll files this serialization? If so, then I guess I am looking for a > doc with a high level grammar specification..ll files are human readable LLVM intermediate code. Modules operate (see 'opt' tool) on byte codes which use .bc as file extension. See, http://llvm.org/docs/LangRef.html http://llvm.org/docs/BytecodeFormat.html llvm-gcc is a GCC based front-end that produces LLVM IR. http://llvm.org/docs/CommandGuide/html/llvmgcc.html http://llvm.org/docs/CommandGuide/html/opt.html http://llvm.org/docs/ has lots of useful documents to get started. - Devang
On Wed, 2007-03-28 at 17:06 -0400, Kyle Lahnakoski wrote:> I have only just begun looking through the docs for LLVM. I have read > through some of the PP presentations to get an idea of the modularity of > LLVM. > > May someone be so kind to point me to some documentation on how to > communicate with the LLVM modules (specifically the optimizer) from some > third party piece of software (my compiler)? > > I am hoping there is a file format, or some serialization, that LLVM > modules can read and write. I am looking at the v1.9 tar file: are the > *.ll files this serialization? If so, then I guess I am looking for a > doc with a high level grammar specification.Binary Format: Bytecode: http://llvm.org/docs/BytecodeFormat.html Text Format: Assembly: http://llvm.org/docs/LangRef.html I suggest that you read http://llvm.org/docs/ (the index) to learn more about what documentation is available. Most of the answers you want are already covered there. Reid.> > > Thanks ahead of time. > >