mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2025-02-06 06:55:07 +00:00
Use another default pipeline when opt-level is 0 (#2624)
According to the description of `buildPerModuleDefaultPipeline()` and `buildLTOPreLinkDefaultPipeline()`, it is not allowed to call them with `O0` level. Use `buildO0DefaultPipeline` instead when the opt-level is 0.
This commit is contained in:
parent
059fbfc252
commit
e73993709e
|
@ -343,18 +343,23 @@ aot_apply_llvm_new_pass_manager(AOTCompContext *comp_ctx, LLVMModuleRef module)
|
||||||
ExitOnErr(PB.parsePassPipeline(MPM, comp_ctx->llvm_passes));
|
ExitOnErr(PB.parsePassPipeline(MPM, comp_ctx->llvm_passes));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!disable_llvm_lto) {
|
if (OptimizationLevel::O0 == OL) {
|
||||||
/* Apply LTO for AOT mode */
|
MPM.addPass(PB.buildO0DefaultPipeline(OL));
|
||||||
if (comp_ctx->comp_data->func_count >= 10
|
|
||||||
|| comp_ctx->enable_llvm_pgo || comp_ctx->use_prof_file)
|
|
||||||
/* Add the pre-link optimizations if the func count
|
|
||||||
is large enough or PGO is enabled */
|
|
||||||
MPM.addPass(PB.buildLTOPreLinkDefaultPipeline(OL));
|
|
||||||
else
|
|
||||||
MPM.addPass(PB.buildLTODefaultPipeline(OL, NULL));
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
MPM.addPass(PB.buildPerModuleDefaultPipeline(OL));
|
if (!disable_llvm_lto) {
|
||||||
|
/* Apply LTO for AOT mode */
|
||||||
|
if (comp_ctx->comp_data->func_count >= 10
|
||||||
|
|| comp_ctx->enable_llvm_pgo || comp_ctx->use_prof_file)
|
||||||
|
/* Add the pre-link optimizations if the func count
|
||||||
|
is large enough or PGO is enabled */
|
||||||
|
MPM.addPass(PB.buildLTOPreLinkDefaultPipeline(OL));
|
||||||
|
else
|
||||||
|
MPM.addPass(PB.buildLTODefaultPipeline(OL, NULL));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
MPM.addPass(PB.buildPerModuleDefaultPipeline(OL));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Run specific passes for AOT indirect mode in last since general
|
/* Run specific passes for AOT indirect mode in last since general
|
||||||
|
|
Loading…
Reference in New Issue
Block a user