[PATCH] D153797: [CSSPGO][Preinliner] Bump up the threshold to favor previous compiler inline decision.
Hongtao Yu via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 26 11:54:36 PDT 2023
hoy updated this revision to Diff 534684.
hoy added a comment.
Updating D153797 <https://reviews.llvm.org/D153797>: [CSSPGO][Preinliner] Bump up the threshold to favor previous compiler inline decision.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D153797/new/
https://reviews.llvm.org/D153797
Files:
llvm/tools/llvm-profgen/CSPreInliner.cpp
Index: llvm/tools/llvm-profgen/CSPreInliner.cpp
===================================================================
--- llvm/tools/llvm-profgen/CSPreInliner.cpp
+++ llvm/tools/llvm-profgen/CSPreInliner.cpp
@@ -153,11 +153,12 @@
}
bool CSPreInliner::shouldInline(ProfiledInlineCandidate &Candidate) {
+ bool WasInlined =
+ Candidate.CalleeSamples->getContext().hasAttribute(ContextWasInlined);
// If replay inline is requested, simply follow the inline decision of the
// profiled binary.
if (SamplePreInlineReplay)
- return Candidate.CalleeSamples->getContext().hasAttribute(
- ContextWasInlined);
+ return WasInlined;
unsigned int SampleThreshold = SampleColdCallSiteThreshold;
uint64_t ColdCountThreshold = ProfileSummaryBuilder::getColdCountThreshold(
@@ -184,6 +185,12 @@
// want any inlining for cold callsites.
SampleThreshold = SampleHotCallSiteThreshold * NormalizedHotness * 100 +
SampleColdCallSiteThreshold + 1;
+ // Bump up the threshold to favor previous compiler inline decision. The
+ // compiler has more insight and knowledge about functions based on their IR
+ // and attribures and should be able to make a more reasonable inline
+ // decision.
+ if (WasInlined)
+ SampleThreshold *= 100;
}
return (Candidate.SizeCost < SampleThreshold);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D153797.534684.patch
Type: text/x-patch
Size: 1358 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230626/ac43780f/attachment.bin>
More information about the llvm-commits
mailing list