llvm code generation for atoms