llvm compilation