fix incomplete type conversion in llvm::ir_gen