I spent the last two years updating the Compiler Design course at Johns Hopkins to include LLVM which required me to learn “everything” about the LLVM Project. There are several difficult steps that I could not overcome in two years of studying LLVM.
I am writing to request help from the community to fill in these missing points which basically involve using clang to create a compiler for an imperative C like language (for teaching students how to do this). It is easy to create a scanner and a parser using public domain tools, but when I reached the codegen to LLVM’s IR, I quickly ran out of good guidance. The biggest help came from the LLVM Tutorials, but they are a little shallow and a little hard to follow at times due to what appears to be generations of updates.
Are there LLVM based tools available to make the transition from AST to IR, and where do I find them?