LLVM IR optimization overview for a toy program
In my compilers class this semester we’ve been talking about static analysis and optimizations. We’ve written a little LLVM frontend compiler for a toy language with s-expression (lisp) syntax. We’ve also added an option to our compiler to add arithmetic overflow and division error checks to the compiler output. We’re going to look at the output of this compiler with arithmetic checks on a toy program, and see what the optimizer does to it.