void compile_module_to_llvm_bitcode(const Module &module, std::string filename) { if (filename.empty()) filename = module.name() + ".bc"; llvm::LLVMContext context; std::unique_ptr<llvm::Module> llvm(compile_module_to_llvm_module(module, context)); compile_llvm_module_to_llvm_bitcode(*llvm, filename); }
void compile_module_to_llvm_bitcode(const Module &module, std::string filename) { if (filename.empty()) filename = module.name() + ".bc"; llvm::LLVMContext context; llvm::Module *llvm = compile_module_to_llvm_module(module, context); compile_llvm_module_to_llvm_bitcode(llvm, filename); delete llvm; }
void compile_module_to_llvm(const Module &module, std::string bitcode_filename, std::string llvm_assembly_filename) { if (bitcode_filename.empty()) bitcode_filename = module.name() + ".bc"; if (llvm_assembly_filename.empty()) llvm_assembly_filename = module.name() + ".ll"; llvm::LLVMContext context; std::unique_ptr<llvm::Module> llvm(compile_module_to_llvm_module(module, context)); compile_llvm_module_to_llvm_bitcode(*llvm, bitcode_filename); compile_llvm_module_to_llvm_assembly(*llvm, llvm_assembly_filename); }
void compile_module_to_llvm(const Module &module, std::string bitcode_filename, std::string llvm_assembly_filename) { if (bitcode_filename.empty()) bitcode_filename = module.name() + ".bc"; if (llvm_assembly_filename.empty()) llvm_assembly_filename = module.name() + ".ll"; llvm::LLVMContext context; llvm::Module *llvm = compile_module_to_llvm_module(module, context); compile_llvm_module_to_llvm_bitcode(llvm, bitcode_filename); compile_llvm_module_to_llvm_assembly(llvm, llvm_assembly_filename); delete llvm; }