Good Afternoon LLVM Team,
I am currently doing a research paper on LLVM and I need to understand how the infrastructure takes different front-end codes and cross compile them. Are there any papers explaining how exactly this service works please.
LLVM Infrastructure is mostly based on an source code and target independent intermediate representation (LLVMIR) to do most of its transformation. Usually the IR is stored in a file (.ll file).
Different front-end codes could all generate LLVMIR, so that LLVM could then eat all such kind of IR, and process it. Depends on the language, a bunch of runtime function call might be generated in LLVMIR.
Following is some of the most important docs/papers about how it works (In my opinion), Other guys in the community might have additional useful other docs.
- LLVM Introuduction paper by Chris Lattner (CGO 2004) http://llvm.org/pubs/2004-01-30-CGO-LLVM.pdf
- How OpenGL support works in LLVM (The "different frontend example) by Chris Lattner. http://lists.cs.uiuc.edu/pipermail/llvmdev/2006-August/006492.html
- The LLVM IR representation docs: http://llvm.org/docs/LangRef.html