[llvm] 3710078 - [SampleProfile] Reduce indentation with an early return (NFC)
Kazu Hirata via llvm-commits
llvm-commits at lists.llvm.org
Thu Feb 3 12:22:34 PST 2022
Author: Kazu Hirata
Date: 2022-02-03T12:22:23-08:00
New Revision: 3710078cebb8a63b200ffd446c63c468fde1a2ab
URL: https://github.com/llvm/llvm-project/commit/3710078cebb8a63b200ffd446c63c468fde1a2ab
DIFF: https://github.com/llvm/llvm-project/commit/3710078cebb8a63b200ffd446c63c468fde1a2ab.diff
LOG: [SampleProfile] Reduce indentation with an early return (NFC)
Added:
Modified:
llvm/lib/Transforms/IPO/SampleProfile.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Transforms/IPO/SampleProfile.cpp b/llvm/lib/Transforms/IPO/SampleProfile.cpp
index bc6051de90c4d..0298f3c025db5 100644
--- a/llvm/lib/Transforms/IPO/SampleProfile.cpp
+++ b/llvm/lib/Transforms/IPO/SampleProfile.cpp
@@ -1226,45 +1226,45 @@ bool SampleProfileLoader::tryInlineCandidate(
InlineFunctionInfo IFI(nullptr, GetAC);
IFI.UpdateProfile = false;
- if (InlineFunction(CB, IFI).isSuccess()) {
- // Merge the attributes based on the inlining.
- AttributeFuncs::mergeAttributesForInlining(*BB->getParent(),
- *CalledFunction);
-
- // The call to InlineFunction erases I, so we can't pass it here.
- emitInlinedIntoBasedOnCost(*ORE, DLoc, BB, *CalledFunction,
- *BB->getParent(), Cost, true, CSINLINE_DEBUG);
-
- // Now populate the list of newly exposed call sites.
- if (InlinedCallSites) {
- InlinedCallSites->clear();
- for (auto &I : IFI.InlinedCallSites)
- InlinedCallSites->push_back(I);
- }
+ if (!InlineFunction(CB, IFI).isSuccess())
+ return false;
- if (ProfileIsCSFlat)
- ContextTracker->markContextSamplesInlined(Candidate.CalleeSamples);
- ++NumCSInlined;
-
- // Prorate inlined probes for a duplicated inlining callsite which probably
- // has a distribution less than 100%. Samples for an inlinee should be
- // distributed among the copies of the original callsite based on each
- // callsite's distribution factor for counts accuracy. Note that an inlined
- // probe may come with its own distribution factor if it has been duplicated
- // in the inlinee body. The two factor are multiplied to reflect the
- // aggregation of duplication.
- if (Candidate.CallsiteDistribution < 1) {
- for (auto &I : IFI.InlinedCallSites) {
- if (Optional<PseudoProbe> Probe = extractProbe(*I))
- setProbeDistributionFactor(*I, Probe->Factor *
- Candidate.CallsiteDistribution);
- }
- NumDuplicatedInlinesite++;
- }
+ // Merge the attributes based on the inlining.
+ AttributeFuncs::mergeAttributesForInlining(*BB->getParent(),
+ *CalledFunction);
- return true;
+ // The call to InlineFunction erases I, so we can't pass it here.
+ emitInlinedIntoBasedOnCost(*ORE, DLoc, BB, *CalledFunction,
+ *BB->getParent(), Cost, true, CSINLINE_DEBUG);
+
+ // Now populate the list of newly exposed call sites.
+ if (InlinedCallSites) {
+ InlinedCallSites->clear();
+ for (auto &I : IFI.InlinedCallSites)
+ InlinedCallSites->push_back(I);
}
- return false;
+
+ if (ProfileIsCSFlat)
+ ContextTracker->markContextSamplesInlined(Candidate.CalleeSamples);
+ ++NumCSInlined;
+
+ // Prorate inlined probes for a duplicated inlining callsite which probably
+ // has a distribution less than 100%. Samples for an inlinee should be
+ // distributed among the copies of the original callsite based on each
+ // callsite's distribution factor for counts accuracy. Note that an inlined
+ // probe may come with its own distribution factor if it has been duplicated
+ // in the inlinee body. The two factor are multiplied to reflect the
+ // aggregation of duplication.
+ if (Candidate.CallsiteDistribution < 1) {
+ for (auto &I : IFI.InlinedCallSites) {
+ if (Optional<PseudoProbe> Probe = extractProbe(*I))
+ setProbeDistributionFactor(*I, Probe->Factor *
+ Candidate.CallsiteDistribution);
+ }
+ NumDuplicatedInlinesite++;
+ }
+
+ return true;
}
bool SampleProfileLoader::getInlineCandidate(InlineCandidate *NewCandidate,
More information about the llvm-commits
mailing list