Kernel Code Generation Using Llvm