Example #1
0
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);
}
Example #2
0
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;
}
Example #3
0
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);
}
Example #4
0
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;
}