const void *lto_codegen_compile_optimized(lto_code_gen_t cg, size_t *length) { maybeParseOptions(cg); LibLTOCodeGenerator *CG = unwrap(cg); CG->NativeObjectFile = CG->compileOptimized(); if (!CG->NativeObjectFile) return nullptr; *length = CG->NativeObjectFile->getBufferSize(); return CG->NativeObjectFile->getBufferStart(); }
const void *lto_codegen_compile(lto_code_gen_t cg, size_t *length) { maybeParseOptions(cg); LibLTOCodeGenerator *CG = unwrap(cg); CG->NativeObjectFile = CG->compile(DisableInline, DisableGVNLoadPRE, DisableLTOVectorization, sLastErrorString); if (!CG->NativeObjectFile) return nullptr; *length = CG->NativeObjectFile->getBufferSize(); return CG->NativeObjectFile->getBufferStart(); }
bool lto_codegen_compile_to_file(lto_code_gen_t cg, const char **name) { maybeParseOptions(cg); return !unwrap(cg)->compile_to_file( name, DisableVerify, DisableInline, DisableGVNLoadPRE, DisableLTOVectorization); }
bool lto_codegen_optimize(lto_code_gen_t cg) { maybeParseOptions(cg); return !unwrap(cg)->optimize(DisableVerify, DisableInline, DisableGVNLoadPRE, DisableLTOVectorization); }
bool lto_codegen_write_merged_modules(lto_code_gen_t cg, const char *path) { maybeParseOptions(cg); return !unwrap(cg)->writeMergedModules(path); }
const void *lto_codegen_compile_optimized(lto_code_gen_t cg, size_t *length) { maybeParseOptions(cg); return unwrap(cg)->compileOptimized(length, sLastErrorString); }
const void *lto_codegen_compile(lto_code_gen_t cg, size_t *length) { maybeParseOptions(cg); return unwrap(cg)->compile(length, DisableInline, DisableGVNLoadPRE, DisableLTOVectorization, sLastErrorString); }