Code from the tutorial on llvm.org