Practice and implementation of a C to LLVM compiler.