[PATCH] D97028: [SampleFDO] Skip PreLink ICP for better profile quality of MonoLTO PostLink
Wenlei He via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Feb 18 20:37:20 PST 2021
wenlei updated this revision to Diff 324869.
wenlei added a comment.
update
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D97028/new/
https://reviews.llvm.org/D97028
Files:
llvm/lib/Passes/PassBuilder.cpp
Index: llvm/lib/Passes/PassBuilder.cpp
===================================================================
--- llvm/lib/Passes/PassBuilder.cpp
+++ llvm/lib/Passes/PassBuilder.cpp
@@ -1081,15 +1081,16 @@
// Cache ProfileSummaryAnalysis once to avoid the potential need to insert
// RequireAnalysisPass for PSI before subsequent non-module passes.
MPM.addPass(RequireAnalysisPass<ProfileSummaryAnalysis, Module>());
- // Do not invoke ICP in the ThinLTOPrelink phase as it makes it hard
- // for the profile annotation to be accurate in the ThinLTO backend.
- if (Phase != ThinOrFullLTOPhase::ThinLTOPreLink)
+ // Do not invoke ICP in the LTOPrelink phase as it makes it hard
+ // for the profile annotation to be accurate in the LTO backend.
+ if (Phase != ThinOrFullLTOPhase::ThinLTOPreLink &&
+ Phase != ThinOrFullLTOPhase::FullLTOPreLink)
// We perform early indirect call promotion here, before globalopt.
// This is important for the ThinLTO backend phase because otherwise
// imported available_externally functions look unreferenced and are
// removed.
- MPM.addPass(PGOIndirectCallPromotion(
- Phase == ThinOrFullLTOPhase::ThinLTOPostLink, true /* SamplePGO */));
+ MPM.addPass(
+ PGOIndirectCallPromotion(true /* IsInLTO */, true /* SamplePGO */));
}
if (AttributorRun & AttributorRunOption::MODULE)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D97028.324869.patch
Type: text/x-patch
Size: 1412 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210219/e5d3be70/attachment.bin>
More information about the llvm-commits
mailing list