An exercise in using LLVM