From daeea961a6d93f301e7a22659a2c203846fd58f2 Mon Sep 17 00:00:00 2001 From: wlei Date: Tue, 19 Jan 2021 16:20:11 -0800 Subject: [PATCH] [llvm-profgen][NFC] Fix the incorrect computation of callsite sample count Differential Revision: https://reviews.llvm.org/D95009 --- llvm/test/tools/llvm-profgen/noinline-cs-noprobe.test | 2 +- llvm/tools/llvm-profgen/ProfileGenerator.cpp | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/llvm/test/tools/llvm-profgen/noinline-cs-noprobe.test b/llvm/test/tools/llvm-profgen/noinline-cs-noprobe.test index 385009d..9beecb2 100644 --- a/llvm/test/tools/llvm-profgen/noinline-cs-noprobe.test +++ b/llvm/test/tools/llvm-profgen/noinline-cs-noprobe.test @@ -7,7 +7,7 @@ ; CHECK: 2: 2 ; CHECK: 4: 1 ; CHECK: 5: 3 -; CHECK:[main:1 @ foo]:9:0 +; CHECK:[main:1 @ foo]:6:0 ; CHECK: 2: 3 ; CHECK: 3: 3 bar:3 diff --git a/llvm/tools/llvm-profgen/ProfileGenerator.cpp b/llvm/tools/llvm-profgen/ProfileGenerator.cpp index 7c5c5e3..265becc 100644 --- a/llvm/tools/llvm-profgen/ProfileGenerator.cpp +++ b/llvm/tools/llvm-profgen/ProfileGenerator.cpp @@ -239,11 +239,9 @@ void CSProfileGenerator::populateFunctionBoundarySamples( // Record called target sample and its count const FrameLocation &LeafLoc = Binary->getInlineLeafFrameLoc(SourceOffset); - FunctionProfile.addCalledTargetSamples(LeafLoc.second.LineOffset, LeafLoc.second.Discriminator, CalleeName, Count); - FunctionProfile.addTotalSamples(Count); // Record head sample for called target(callee) // TODO: Cleanup ' @ ' @@ -311,8 +309,10 @@ void CSProfileGenerator::populateInferredFunctionSamples() { CallerLeafFrameLoc.second.LineOffset, CallerLeafFrameLoc.second.Discriminator, CalleeProfile.getName(), EstimatedCallCount); - updateBodySamplesforFunctionProfile(CallerProfile, CallerLeafFrameLoc, - EstimatedCallCount); + CallerProfile.addBodySamples(CallerLeafFrameLoc.second.LineOffset, + CallerLeafFrameLoc.second.Discriminator, + EstimatedCallCount); + CallerProfile.addTotalSamples(EstimatedCallCount); } } -- 2.7.4